我正在开发一个运行一系列功能的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);
有没有其他优雅的方法来做到这一点?非常感谢你。
答案 0 :(得分:0)
不,在回调执行后无法继续链接,如下所示
$('selector').bgChange({name:'you'},callback).bgmChange()
但是如果你想给出一个固定的延迟,你可以使用.delay()