Хорошо для следующего кода в консоли firebug на stackoverflow
for (var i = 1; i <= 5; i++) {
$('#custom-header')
//.delay(50)
.queue(function(next) {
console.log(i);
next();
});
}
На консоли вы получите результат
1
2
3
4
5
[div#custom-header]
И для кода
for (var i = 1; i <= 5; i++) {
$('#custom-header')
.delay(50)
.queue(function(next) {
console.log(i);
next();
});
}
Youполучить результат
[div#custom-header]
6
6
6
6
6
[Объяснение]:
Из этого можно сделать вывод, что dealay(50)
задерживает оценку функции внутри очереди, поэтому сначала печатается [div#custom-header]
и i
печатается все 6
(на данный момент), потому что цикл (который не задерживается) вычисляется первым (задерживается только функция печати внутри очереди).