bin*_*680 26 javascript setinterval
setInterval(function(){}, 200)
Run Code Online (Sandbox Code Playgroud)
这个代码每200毫秒运行一次这个函数,如果我只想运行10次这个函数怎么办呢.
感谢帮助.
kar*_*m79 73
使用一个计数器,每次执行回调时递增,当它达到所需的执行次数时,clearInterval()用来杀死计时器:
var counter = 0;
var i = setInterval(function(){
// do your thing
counter++;
if(counter === 10) {
clearInterval(i);
}
}, 200);
Run Code Online (Sandbox Code Playgroud)
(function(){
var i = 10;
(function k(){
// your code here
if( --i ) {
setTimeout( k, 200 );
}
})()
})()
Run Code Online (Sandbox Code Playgroud)
如果你想让它运行 10 次并且它应该运行的时间是每 200 毫秒那么 200X10 = 2000
var interval = setInterval(yourfunction, 200);
setTimeout(function() {
clearInterval(interval)
}, 2000);
Run Code Online (Sandbox Code Playgroud)
但它只运行了 9 次,所以我们必须添加更多 200 毫秒
var interval = setInterval(yourfunction, 200);
setTimeout(function() {
clearInterval(interval)
}, 2200);
Run Code Online (Sandbox Code Playgroud)
或者你可以在 setInterval 之前运行它
yourfunction();
var interval = setInterval(yourfunction, 200);
setTimeout(function() {
clearInterval(interval)
}, 2000);
Run Code Online (Sandbox Code Playgroud)