Javascript setTimeout分为两个循环

时间:2016-06-04 17:32:57

标签: javascript closures settimeout

我在几天后尝试创建一个javascript模式。

我使用" for循环解析一个多维数组数组"其中包含x和y位置:

array[1][x]
array[1][y]

array[2][x]
array[2][y]

ect...

我不知道用户在数组中推送x和y数字的长度,最后一个函数被激活,然后数组的长度是固定的。每一秒我想增加或减少数字末尾的一个数字的x和y。我想重新启动解析数组,解析函数在数组[1] [x] == stopX&& array [1] [y] == stopY。

我测试了不同的方法我有bug和无限循环。

// i know stopX and stopY they are numbers and never change.
    var stopX = 25; 
    var stopy = 49;
//i wish an condition to stop the script as this :
    while( array[i][x] != stopX && array[i][y] != stopY ){

    for( i = 1 ; i < array.length; i++ ){
    (function(){
    var j = i;
       setTimeout( function(){ 
//here differents "if( ){" to increase or decrease array[i][x] and array[i][y];
          array[i][x] += 1;
          array[i][y] += 1;
        }, j*1000);
       }
   }
}

我需要&#34;数字&#34;因为这&#34; w * j * 1000&#34;我没有理解这个概念,我完全不了解关闭的效用但是效果更好,我想我需要第二次关闭,但我可以在哪里以及如何设置这个?

1 个答案:

答案 0 :(得分:0)

在最后i replacef&#34; while loop&#34; by setinterval + setTimeout + clearInterval。