我正在尝试在嵌套的 $.each
中使用 setTimeout()
。当我运行这个脚本时,console.log
立即显示main0,main1,main2
,这是错误的,应该像test一样每5秒后一一显示...
第二个 $.each
的值。
var i = 1;
var indexArrayMain = [1,2,3];
var indexArray = [3,6,9];
var timerx = new Array();
// main each
$(indexArrayMain).each(function(indexArrayMain) {
console.log('main' + indexArrayMain);
// sub each
$(indexArray).each(function(indexArraykey) {
function internalCallback(i, indexArraykey) {
return function() {
val = indexArray[indexArraykey];
console.log("test " + i + val);
}
}
timerx[i] = setTimeout(internalCallback(i, indexArraykey), i * 5000);
i++;
});
});
最佳答案
你有console.log('main'+indexArrayMain);
写在第一个$.each
下,这个日志没有在超时回调中运行,这使得它立即运行。
关于javascript - Jquery $.each 在 $.each 中使用 setTimeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42627747/