Javascript setInterval、clearInterval不工作
我有一个要求,我需要反复调用调用setInterval的函数。我遇到的问题是,如果生成一个函数(比如说每1秒一次),并使用setInterval进行设置;如果我们调用setInterval两次或两次以上,而其间没有clearInterval,则函数将继续调用自身。 例:Javascript setInterval、clearInterval不工作,javascript,Javascript,我有一个要求,我需要反复调用调用setInterval的函数。我遇到的问题是,如果生成一个函数(比如说每1秒一次),并使用setInterval进行设置;如果我们调用setInterval两次或两次以上,而其间没有clearInterval,则函数将继续调用自身。 例: 此页上的脚本启动此时钟: 开始时间 停止时间 var-myVar; 函数myStartFunction(){ myVar=setInterval(函数(){myTimer()},1000); } 函数myTimer(){ v
此页上的脚本启动此时钟:
开始时间
停止时间
var-myVar;
函数myStartFunction(){
myVar=setInterval(函数(){myTimer()},1000);
}
函数myTimer(){
var d=新日期();
变量t=d.toLocaleTimeString();
document.getElementById(“demo”).innerHTML=t;
}
函数myStopFunction(){
console.log(myVar);
净距(myVar);
console.log(myVar);
}
如果我在两次单击开始时间按钮之间没有单击停止时间,则函数不会停止。这只是该场景的一个示例。怎么解决这个问题 您正在一次又一次地覆盖同一个myVar。。。这意味着停止功能将只停止上次启动的计时器。如果您最多只想运行一个setInteval,只需在启动之前添加对stop函数的调用 您正在一次又一次地覆盖同一个myVar。。。这意味着停止功能将只停止上次启动的计时器。如果您最多只想运行一个setInteval,只需在启动之前添加对stop函数的调用 在startFunction中,只需清除所有现有间隔。否则,您将创建多个间隔,但仅存储对上次创建的间隔的引用 例如:
function myStartFunction(){
if(myVar) {
myStopFunction();
}
myVar = setInterval(function(){ myTimer() }, 1000);
}
在startFunction中,只需清除所有现有间隔。否则,您将创建多个间隔,但仅存储对上次创建的间隔的引用 例如:
function myStartFunction(){
if(myVar) {
myStopFunction();
}
myVar = setInterval(function(){ myTimer() }, 1000);
}
是的,您应该调整您的逻辑,在不要求用户首先单击停止的情况下,不要触发第二个启动时间实例。这是一台电脑。你告诉它要做什么是的,你应该调整你的逻辑,在不要求用户先单击停止的情况下,不要触发第二个启动时间实例。这是一台电脑。你告诉它该怎么做