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 マスター スレーブ同期を設定する方法
ユーザー名前空間は Linux 3.8 で追加された新しい名前空間で、ユーザー ID やグループ I...
目次1. 構造体はメモリにどのように保存されますか? 2. container_ofマクロ3. 型4...
1. Centos7.6システムを作成し、システムを最適化する1. NetworkManagerをオ...
各人が固有の携帯電話番号で登録し、ビジネス コードによって重複する携帯電話番号が 2 つ書き込まれな...
目次1. Document.execCommand() メソッド(1)コピー操作(2)貼り付け操作(...
目次1. 概要2. dockerを使用してTomcatをデプロイし、Skywalkingに接続する要...
MySQLのインストール、設定、最適化は参考用です。具体的な内容は次のとおりです。 MySQL ダウ...
Canvas は HTML5 の新しいタグです。js を使用して Canvas 描画 API を操作...
1. コマンドの紹介date コマンドは、現在の時刻または指定された時刻を指定された形式で表示するた...
目次Vuex環境を構築する要約するVuex環境を構築するsrcディレクトリにフォルダstoreを作成...
イベントについて: MySQL 5.1 では、イベントの概念が導入され始めました。イベントは「時間ト...
目次1. はじめに2. 再帰3. コールバック関数3.1 匿名コールバック関数3.2 パラメータ付き...
Apache Tika は、さまざまな形式のファイルからファイル タイプを検出し、コンテンツを抽出す...
目次1. 現実的な背景2. 合意3. マスターを構成する3.1. 起動パラメータの設定3.2. パラ...
導入前の記事で述べたように、NodeJS には 2 種類のスレッドがあります。1 つは、ユーザー リ...