animate() アニメーションメソッド
• パラメータ 1: 移動の終了位置の CSS プロパティ名とプロパティ値のコレクション。 ①数値を持つ属性値はすべて移動可能。 <スタイル> *{ マージン: 0; パディング: 0; } p{ 位置: 相対的; 左: 0; 下マージン: 10px; 背景色: スカイブルー; 幅: 50px; 高さ: 50px; } </スタイル> <!---------------------------------------> <本文> <p>1</p> <p>2</p> <p>3</p> <p>4</p> <p>5</p> <p>6</p> <p>7</p> <p>8</p> <script src="../jq/jquery-1.12.4.min.js"></script> <スクリプト> var $ps = $("p"); //実際の操作では、揮発性の時間を変数 var during = 1000 に格納する方が適切です。 //数値を持つ属性値はすべて移動可能 $ps.click(function(){ $(this).animate({"width":500,"opacity":0.5},during,"swing") }) </スクリプト> </本文> アニメーションキューイング
<スタイル> div{ 幅: 100ピクセル; 高さ: 100px; 境界線: 8px 実線 #ccc; 位置: 絶対; 左: 0; 上: 0; 背景: url(../../imgs/1.jpg) 繰り返しなし 中央 中央; } .box2{ 境界線の半径: 50%; オーバーフロー: 非表示; } div スパン{ 位置: 絶対; 左: 0; 上: 0; 幅: 100%; 高さ: 100%; 背景色: rgba(221, 130, 130, 0.4); } </スタイル> <!-------------css スタイル------------------> <本文> <div class="box1"><span></span></div> <div class="box2"><span></span></div> <script src="../jq/jquery-1.12.4.min.js"></script> <スクリプト> var $box1 = $(".box1"); var $box2 = $(".box2"); var 期間中 = 2000; //アニメーションキューの比較 $box2.animate({"left": 400,"top":400},during) //Box1 と box2 はそれぞれ独自のアニメーションを実行します //同じ要素に複数のアニメーションをキューに入れます $box1.animate({"left": 400},during) //キューに入れます $box1.animate({"top": 400}, during) // アニメーションの下部はタイマーで、非同期読み込みです // 同じ要素オブジェクトに関する非モーションコードはキューに入れられません // $box1.css ("height", 200) </スクリプト> </本文>
//他の移動方法も同じ要素に設定されている場合、キューに追加されます$box2.mouseenter(function(){ $(this).children().slideUp(実行中) }) $box2.mouseleave(関数(){ $(this).children().slideDown(実行中) }) //マウスが素早く上下に動き、box2 の灰色の領域がすべての回数実行されるまでスライドし続けます。
// 同じ要素の複数の移動は、チェーン呼び出しによって簡素化できます // ただし、キューに入れる必要があります $box1.children().fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500) delay() メソッド
//遅延 $box1.children().delay(3000).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500) アニメーションを停止するstop()メソッド
• パラメータ 1: 後続のアニメーション キューをクリアするかどうかを設定します。true の場合はクリアすることを意味します (後続のアニメーションもクリアされ、実行されなくなります)。false の場合はクリアせず、現在のアニメーションのみを停止することを意味します (後続のアニメーションはすぐに実行を開始します)。 <スタイル> div { 幅: 100ピクセル; 高さ: 100px; 境界線: 8px 実線 #ccc; 位置: 絶対; 左: 0; トップ: 40; 背景: url(../../imgs/1.jpg) 繰り返しなし 中央 中央; } div スパン { 位置: 絶対; 左: 0; 上: 0; 幅: 100%; 高さ: 100%; 背景色: rgba(221, 130, 130, 0.4); } </スタイル> </head> <本文> <input type="button" value="true true" id="btn1"> <input type="button" value="true false" id="btn2"> <input type="button" value="false false" id="btn3"> <input type="button" value="false true" id="btn4"><br> <div class="box1"><span></span></div> <script src="../jq/jquery-1.12.4.min.js"></script> <スクリプト> var $box1 = $(".box1"); var 期間中 = 2000; // 同じ要素に複数のアニメーションをキューに入れる $box1.animate({ "left": 400 }, during) $box1.animate({ "top": 400 }, 中) $box1.animate({"left":0},途中) $box1.animate({"top":40},アニメーション中) // アニメーションを停止 // ボタンクリックイベントを追加 var $btn1 = $("#btn1") var $btn2 = $("#btn2") var $btn3 = $("#btn3") var $btn4 = $("#btn4") //true true キューに入れられたアニメーションをクリアし、現在のアニメーションを直ちに完了し、終了位置で停止します$btn1.click(function () { 停止します。 }) //true false アニメーションをクリアして現在の位置で停止します $btn2.click(function () { 停止します。 }) //false false 次のアニメーションをクリアせず、現在のアニメーションで停止し、次のアニメーションを実行します $btn3.click(function () { 停止します。 }) //false true 次のアニメーションをクリアしない、現在の動きはすぐに終了します$btn4.click(function () { $box1.stop(偽、真); }) </スクリプト> </本文>
アニメーションキューをクリアアニメーションキューの問題
キューに入れられたアニメーションをクリアし、嫌がらせ防止操作を実行する必要があります。
方法 1: stop() メソッドを使用する 各移動関数の前に stop(true) を追加します。これは、移動が実行される前に、以前にキューに入れられたアニメーションがクリアされ、現在の位置で停止することを意味します。 <スタイル> div { 幅: 100ピクセル; 高さ: 100px; 境界線: 8px 実線 #ccc; 位置: 絶対; 左: 0; 上: 0; 背景: url(../../imgs/1.jpg) 繰り返しなし 中央 中央; } div スパン { 位置: 絶対; 左: 0; 上: 0; 幅: 100%; 高さ: 100%; 背景色: rgba(221, 130, 130, 0.4); } </スタイル> <本文> <input type="button" value="true true" id="btn1"> <input type="button" value="true false" id="btn2"> <input type="button" value="false false" id="btn3"> <input type="button" value="false true" id="btn4"><br> <div class="box1"><span></span></div> <script src="../jq/jquery-1.12.4.min.js"></script> <スクリプト> var $box1 = $(".box1"); var 期間中 = 2000; // アニメーションをクリアする $box1.mouseenter(function(){ $(this).children().stop(true).slideUp(実行中) }) $box1.mouseleave(関数(){ $(this).children().stop(true).slideDown(実行中) }) </スクリプト> </本文> 方法2: 関数スロットリング方式を使用する 要素が移動中の場合は、直接戻り、後続の移動コードを実行しません。 各 jQuery オブジェクトは is() メソッドを呼び出すことができ、これは要素オブジェクトの特定の状態を表示するために使用されます。パラメータの位置が is(":animated") の場合、animated は移動を意味し、戻り値はブール値です。true は移動を意味し、false は移動しないことを意味します。 //関数スロットリングメソッド $box1.mouseenter(function(){ if(is(":animated")){ // 動いていると判断された場合はそのまま戻り、他のアニメーションは実行されなくなります。 } //動きがない場合は、次の新しいアニメーション $(this).children().slideup(during); を実行し続けます。 }) $box1.mouseenter(関数(){ if(is(":animated")){ // 動いていると判断された場合はそのまま戻り、他のアニメーションは実行されなくなります。 } // 動きがない場合は、背後で新しいアニメーションの実行を継続します // 安全のため、stop(true) と組み合わせて使用されることもあります $(this).children().stop(true).slideup(during); })
以上は、jQueryのanimateアニメーションメソッドとアニメーションキューイング問題の解決方法についての詳細な説明です。jQueryのanimateアニメーションメソッドの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: Ubuntu 18でターミナルを美しいコマンドラインプロンプトに変更する方法
>>: Ubuntu 16.04 で MySQL マスター スレーブ同期を設定する方法
目次次のチェックミックスイン$強制更新設定、削除フィルター指令その他の単純な共通プロパティとメソッド...
1. 原因公式の cerbot は面倒すぎます。野生の成長よりもさらに悪い acme.sh の使用は...
1. サーバー ホストをクリックし、右側の操作リストで [仮想スイッチ管理] をクリックして、仮想...
1. MySQLソフトウェアをインストールするMySQL 公式 Yum リポジトリ、MySQL バー...
昨晩、面接の質問を見ていたら、CSS スタイルの優先順位について特に明確に説明していない人が何人かい...
まず、いくつかの概念を明確にします。 JDBC: Javaデータベース接続、Oricalによって規定...
目次mysql フィルター レプリケーションメインデータベースに実装ライブラリから実装いくつかの質問...
序文PIPE、パイプラインと翻訳されます。 Angular パイプは、HTML コンポーネントで宣言...
最近、Linux を使用してローカルにログインしていたところ、正常にログインできず、次のエラー メッ...
Vite とは何ですか? (フロントエンドの新しいおもちゃです) Vite は、ネイティブ ES モ...
序文MySQL クエリは select コマンドを使用し、limit および offset パラメー...
目次導入インデックスの原則1. データページ2. ページディレクトリ3. インデックス原則分析要約す...
メインライブラリの実行 CREATE DATABASE test CHARACTER SET utf...
目次序文RMの後には希望はあるのでしょうか?最前線を使ってファイルを取得するextundeleteを...
1. データ感度低下の説明日常の開発ニーズでは、データの感度低下が頻繁に発生します。たとえば、ID ...