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 マスター スレーブ同期を設定する方法
JDBC の 6 つのステップ: 1. ドライバーを登録する2. データベース接続を取得する3. デ...
この記事では、ログイン認証コードを実装するためのvue+springbootの具体的なコードを例とし...
概要この記事は、centos7.3 上で mysql5.3.6 を自動的にコンパイルしてインストール...
JavaScript でポインターの位置を取得する方法は、イベント オブジェクトの pageX と ...
概要: nginx リバース プロキシ jira を構成し、https を実装します。Tomcat ...
1. エラーの再現MySQL データベースにはアクセスできますが、データベース テーブルを読み取るこ...
<meta http-equiv="x-ua-compatible" コン...
<br />少し前に、ビジネス上の必要性から、ラップトップに Souba をインストール...
多くのプロジェクトでは、中央に灰色の分割線があり、両側に分割線がないグリッド表示の機能を実装する必要...
div の背景を透明にする一般的な方法は 2 つあります。 1. 不透明度属性を 0 ~ 1 の値に...
フロントエンドのクロスドメイン問題に2日間近く悩まされましたが、ようやくngnxを使って解決したので...
この記事では、例を使用して MySQL コマンドライン スクリプトの実行について説明します。ご参考ま...
リッチ テキスト コンポーネントは、Web プログラムで、特にブログやフォーラムなどの Web サイ...
1. 広告の 85% は未読です<br />解釈: 成功する広告の 15% にどうやって...
この記事では、ビュー、トランザクション、インデックス、自己接続、ユーザー管理など、MySQL データ...