0

一連の機能を実行する jquery プラグインを開発しています。機能は自動再生されるか、人間の介入によって実行されます。

このようなことは可能ですか?

例えば ​​:

$('selector').bgChange({name:'you',callback).bgmChange() //Wait for the callback before performing bgmChange.

私は単にこのようなことができることを知っています..

$('selector').bgChange({name:'you', function(){
bgmChange();
});

しかし、数百 (場合によっては数千) の関数が並んでいることについて話しているのです。

これを行う方法はありますか?

今、私が思いついた解決策は、このようなものです。

var events = [
function() {$('#canvas').bgChange({img:'resources/bg/afternoon.png',fadeIn: true,autoplay:false, debug:"events1:"});},

function() {$('#canvas').bgChange({img:'resources/bg/nighttime.png',fadeIn: true,autoplay:false, debug:"events2:"});},
function() {$('#canvas').bgChange({img:'resources/bg/afternoon.png',fadeIn: true,autoplay:false, debug:"events3:"});},

function() {$('#canvas').bgChange({img:'resources/bg/afternoon.png',fadeIn: true,autoplay:false, debug:"events4:"});},
function() {$('#canvas').switchTo(events2);}
];

を使用してすべての機能を再生します

$('#canvas').play(events); 

これを行う他のエレガントな方法はありますか?どうもありがとうございました。

4

1 に答える 1

0

いいえ、以下に示すように、コールバックの実行後にチェーンを継続することはできません

$('selector').bgChange({name:'you'},callback).bgmChange()

しかし、固定遅延を与えたい場合は、.delay()を使用できます。

于 2013-06-21T05:09:22.043 に答える