setInterval与循环时间

时间:2011-12-07 20:23:00

标签: javascript setinterval

setInterval(function(){}, 200)

这段代码每200毫秒运行一次这个函数,如果我只想让函数运行10次,怎么办呢。

感谢您的帮助。

4 个答案:

答案 0 :(得分:69)

使用一个计数器,每次执行回调时递增,当它达到所需的执行次数时,使用clearInterval()来终止计时器:

var counter = 0;
var i = setInterval(function(){
    // do your thing

    counter++;
    if(counter === 10) {
        clearInterval(i);
    }
}, 200);

答案 1 :(得分:7)

(function(){
var i = 10;
    (function k(){

        // your code here            

        if( --i ) {
        setTimeout( k, 200 );
        }

    })()
})()

答案 2 :(得分:4)

如果你想要它运行10次,它应该运行的时间是每200毫秒然后200X10 = 2000

var interval = setInterval(yourfunction, 200);
setTimeout(function() {
    clearInterval(interval)
}, 2000);

但它只运行9次,所以我们必须添加200毫秒

var interval = setInterval(yourfunction, 200);
setTimeout(function() {
    clearInterval(interval)
}, 2200);

或者您可以在setInterval

之前运行它
yourfunction();
var interval = setInterval(yourfunction, 200);
setTimeout(function() {
    clearInterval(interval)
}, 2000);

答案 3 :(得分:0)

只需使用for循环,就更容易了:

只需尝试以下代码。

for (counter=0; counter<0; counter++) {}