setInterval("FunctionA()", 1000);
现在我该如何清除整整5秒钟后此区间,这样我可以做到 -
var i = setInterval("FunctionA()", 1000);
(After 5 seconds)
clearInterval(i);
setInterval("FunctionA()", 1000);
现在我该如何清除整整5秒钟后此区间,这样我可以做到 -
var i = setInterval("FunctionA()", 1000);
(After 5 seconds)
clearInterval(i);
为此,您可以使用setTimeout
功能:
var i = setInterval(FunctionA ,1000);
setTimeout(function( ) { clearInterval( i ); }, 5000);
使用的setTimeout给clearInterval不是一个理想的解决方案。 它会工作,但它会火上每间隔您的setTimeout。 这是确定的,如果你只是清除区间,但如果你正在执行其他代码,除了清除的时间间隔可能是坏的。 一个更好的解决方案是使用一个计数器。 如果您的间隔触发间隔为1000毫秒/ 1秒,那么你知道它是否火灾5倍它已经5秒。 这是干净多了。
count=0;
var x=setInterval(function(){
// whatever code
if(count > 5) clearInterval(x);
count++;
}, 1000);
function intervalGap(){
let no = 1;
setInterval(function(){
if(no < 11){
console.log(no);
no++;
}else{
clearInterval(this);
}}, 500); // for every half second
}
intervalGap();