queue()
我在这里阅读有关 jquery的信息。第一个答案非常全面:
var theQueue = $({}); // jQuery on an empty object - a perfect queue holder
$.each([1,2,3],function(i, num) {
// lets add some really simple functions to a queue:
theQueue.queue('alerts', function(next) {
// show something, and if they hit "yes", run the next function.
if (confirm('index:'+i+' = '+num+'\nRun the next function?')) {
next();
}
});
});
// create a button to run the queue:
$("<button>", {
text: 'Run Queue',
click: function() {
theQueue.dequeue('alerts');
}
}).appendTo('body');
// create a button to show the length:
$("<button>", {
text: 'Show Length',
click: function() {
alert(theQueue.queue('alerts').length);
}
}).appendTo('body');
但是,我不明白next()
(第 8 行)是如何工作的。我知道如果我将其注释掉,“下一个”确认框将无法弹出,直到我再次按下按钮,但我认为next()
主要用于遍历 dom。但在这里,它似乎在告诉函数再次运行。
另外,如果confirm
盒子的排队在each()
函数内,为什么没有next()
?