setInterval(function(){}, 200)
这段代码每200毫秒运行一次这个函数,如果我只想让函数运行10次,怎么办呢。
感谢您的帮助。
答案 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++) {}