第二次循环后我需要3秒延迟。地方被注释掉了。请求帮助。
var x = [[1,2,3,4,5,6,7],[8,9,10,11,12,13,14],[15,16,17,18,19,20,21],[22,23,24,25,26,27,28],[29,30,31,32,33,34,35],[36,37,38,39,40,41,42],[43,44,45,46,47,48,49]];
var j=indx='';
var n = 7;
var slice = j= indx='';
for (slice = 0; slice < 2 * n - 1; ++slice) {
var z = slice < n ? 0 : slice - n + 1;
for (j = z; j <= slice - z; ++j) {
indx = x[j][slice - j]-1;
console.log(indx);
}
//window.setTimeout("", 1000);
//i need delay here.----------------------
}
答案 0 :(得分:1)
使用setInterval(callback, time)。它与setTimeout
相同,但函数将永远被调用
应使用您的间隔ID来调用clearInterval
以停止执行
setInterval
函数返回id
var intervalId = setInterval(function(){
var z = slice < n ? 0 : slice - n + 1;
for (j = z; j <= slice - z; ++j) {
indx = x[j][slice - j]-1;
console.log(indx);
}
if(++slice >= 2*n-1)
clearInterval(intervalId);
}, 3000);