jquery queue キューとその実装メソッドのネイティブ模倣sharing_jquery
queue() メソッドは、一致する要素に対して実行される関数のキューを表示または操作します。
キューとデキューのプロセスは主に次のとおりです:
キューを使用して関数をキューに追加します (通常は関数配列)
デキューを使用して関数配列の最初の関数を取り出して実行します (取り出して実行するには、shift() メソッドを使用します)
つまり、再度 dequeue を実行すると、別の関数が取得されます。また、デキューが実行されない場合、キュー内の次の関数は実行されないことも意味します。
要素上で animate メソッドとアニメーションを実行する場合、jQuery は要素を fx という名前の関数キューに内部的に追加します。複数の要素を順番にアニメーション化するには、手動でキューを設定する必要があります。
2 つの div を順番に左に移動する例:
<スクリプト タイプ= "text/javascript ">
var FUNC=[
function() {$("#block1").animate({color:"=blue"},aniCB);},
function( ) {$( "#block2").animate({color:"=red"},aniCB);},
function() {$("#block1").animate({color:"= yellow" },aniCB) ;},
function() {$("#block2").animate({color:"=grey"},aniCB);},
function() {$("#block1 ").animate ({color:"=green"},aniCB);},
function(){alert("アニメーションが終了します")}
];
var aniCB=function() {
$( document).dequeue("myAnimation");
}
$(document).queue("myAnimation",FUNC)
//aniCB();
最初に、順番に実行する必要がある一連のアニメーションを含む関数配列を作成しました
次に、コールバック関数を定義し、デキュー メソッドを使用してキュー内の次の関数を実行しました
次に、この関数を追加しました 配列はドキュメントの myAnimation のキューに配置されます (任意の要素を選択できますが、便宜上このキューをドキュメントに配置しただけです)
最後に、キュー内の最初の関数の実行を開始します
この利点は、関数配列が線形に拡張されるため、増減が非常に便利になるためです。さらに、次のアニメーションを続行したくない場合 (たとえば、ユーザーがボタンをクリックした場合)、キューをクリアするだけで済みます。さらに追加するには、キューに参加するだけです。
//キューをクリアします
$ (document).queue("myAnimation",[]);
//最後に新しい関数を追加します
$(document).queue("myAnimation",function(){alert("アニメーションは本当に終わりました!")});
もちろん、これは ajax などのメソッドにも使用できます。一連の ajax 対話が必要な場合、各 ajax は前の対話が終了した後に開始する必要があります。これまでの最も独創的な方法はコールバック関数を使用することでした。面倒すぎる。また、queue を使用してキューを追加し、各 ajax の後のコールバックでデキューを 1 回実行します。
jQuery でアニメーションのキュー実装を行い、以下の JavaScript を使用して模倣します:
function Queue(){
this.a = [];
this.t = null;
}
Queue.prototype = {
queue:function (s) {
var self = this;
this.a.push(s);
this.hold();
return this;
},
hold:function (){
var self = this;
clearTimeout(this.t);
this.t = setTimeout(function(){
console.log("キュー開始! ",self.a );
self.dequeue();
},0);
},
dequeue:function(){
var s = this.a.shift(),self = this ;
if(s){
console.log("s:" s);
setTimeout(function(){
console.log("end:" s);
self .dequeue( );
},s);
}
}
};
var a = new Queue().queue(500).queue(200).queue(400) ).queue (1500).queue(300).queue(2000);

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。

Pythonはデータサイエンスと自動化により適していますが、JavaScriptはフロントエンドとフルスタックの開発により適しています。 1. Pythonは、データ処理とモデリングのためにNumpyやPandasなどのライブラリを使用して、データサイエンスと機械学習でうまく機能します。 2。Pythonは、自動化とスクリプトにおいて簡潔で効率的です。 3. JavaScriptはフロントエンド開発に不可欠であり、動的なWebページと単一ページアプリケーションの構築に使用されます。 4. JavaScriptは、node.jsを通じてバックエンド開発において役割を果たし、フルスタック開発をサポートします。

JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。
