我试图在排队函数中使用for循环计数器的值,例如:
for(var i=0; i<5; i++)
$(document.body).queue(function(){alert('i=' + i); $(this).dequeue();}).delay(1000);
然后我得到:
i=0, i=5, i=5, i=5, i=5
我认为这是因为i
在delay(1000)
时发生了变化
我该怎么做才能得到i
的正确值,即:
i=0, i=1, i=2, i=3, i=4
答案 0 :(得分:0)
使用闭包,例如:
for (var i = 0; i < 5; i++)
$(document.body).queue(returnFromQueue(i)).delay(1000);
function returnFromQueue(i) {
return function () {
alert('i=' + i);
$(this).dequeue();
}
}