2014-12-18 172 views
1

我有一個循環,像這樣:的Javascript運行for循環每x秒

for(int i=0; i < 10; i++) { 
    MyFunc(i); 
} 

我將如何讓程序運行,每3秒左右(0)..wait 3秒的程序將運行MYFUNC。 。MyFunc(1)..等待3秒..等等?

回答

0

你需要爲每個迭代不同的延遲:

for(var i=0; i < 10; i++) { 
    runIt(i); 
} 

function runIt(i) { 
    setTimeout(function(){ 
     MyFunc(i); 
    }, i * 3000); 
} 

看到它在這裏的行動:

for(var i=0; i < 10; i++) { 
 
    runIt(i); 
 
} 
 

 
function runIt(i) { 
 
    setTimeout(function(){ 
 
     //MyFunc(i); 
 
     document.body.innerHTML = i; 
 
    }, i * 3000); 
 
}

+1

雖然這個工程,這是值得指出的是,這可能不是可擴展的。只有這麼多超時你應該有... – 2014-12-18 23:30:45