需要Javascript循环延迟

时间:2013-06-30 09:58:50

标签: javascript for-loop delay

第二次循环后我需要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.----------------------
}

1 个答案:

答案 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);