setInterval 不同于setTimeout,setInterval会无限反复执行,如果要让setInterval停止执行该怎么做呢?
只需要把setInterval()赋值给一个变量,然后clearInterval()这个变量即可停止。
例如:
var timesRun = 0;
var interval = setInterval(function(){
timesRun += 1;
if(timesRun === 60){
clearInterval(interval);
}
//do whatever here..
}, 2000);
var startTime = new Date().getTime();
var interval = setInterval(function(){
if(new Date().getTime() - startTime > 60000){
clearInterval(interval);
return;
}
//do whatever here..
}, 2000);
如上面的例子所示:
使用一个变量 var timer = setInterval(fun,2000);
将setInterval赋值给一个变量,要停止的时候,只需要使用clearInterval(timer);即可停止上面的这个每个两秒循环执行fun的这个函数了。