一連の関数を順番に実行するために、jqueryキューを活用しようとしています。これらの「キューに入れられた」関数は、実際にはページ上のオブジェクトをアニメーション化します。
これは私のキューを構築するための私の元のコードでした:
this.queue = function(fx, params) {
this.animation_queue.push({fx: fx, params: params});
};
次に、すべての関数がキューに入れられると、次のように消費します。
this.animate = function() {
for(var i=0; i<this.animation_queue.length; i++) {
this.animation_queue[i].fx.apply(this, [this.animation_queue[i].params]);
}};
明らかに、私が遭遇した問題は、キュー要素が正しく実行されていなかったことです。それらは順番に実行されましたが、各関数がアニメーションを実行したため、実際には、前の要素のアニメーションが終了した後に各キュー要素を実行する必要があります。
私は次のようにjqueryキューを使用することを検討しました:
this.queue = function(fx, params) {
this.animation_queue.delay(500, 'animations');
this.animation_queue.queue('animations', function(next) {
next();
});
};
しかし、パラメーターを使用して、以前と同じように関数を呼び出す方法がわかりません。
これを達成する方法について何か提案はありますか?