Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript clearInterval在简单示例中工作不正常_Javascript_Html_Timer_Setinterval_Clearinterval - Fatal编程技术网

Javascript clearInterval在简单示例中工作不正常

Javascript clearInterval在简单示例中工作不正常,javascript,html,timer,setinterval,clearinterval,Javascript,Html,Timer,Setinterval,Clearinterval,和我的html: var timer = setInterval(function() {update()}, 1000) function myStopFunction() { clearInterval(timer); } 停止时间 我不明白为什么这样不行?如果能得到一些提示就太好了,我认为这是范围的问题?您的程序不太清楚,因为我无法从这个小示例中真正了解您的函数范围 但是,一种可能是您在另一个函数中声明了setInterval函数,该函数被多次调用 在这种情况下,将设置多个间隔,并且

和我的html:

var timer = setInterval(function() {update()}, 1000)

function myStopFunction()
{
clearInterval(timer);
}
停止时间

我不明白为什么这样不行?如果能得到一些提示就太好了,我认为这是范围的问题?

您的程序不太清楚,因为我无法从这个小示例中真正了解您的函数范围

但是,一种可能是您在另一个函数中声明了setInterval函数,该函数被多次调用

在这种情况下,将设置多个间隔,并且只有最后一个要设置的间隔将被clearInterval清除

如果这是您的问题,解决方案是将timer声明为全局变量,然后在每次设置interval之前声明clearInterval(timer)

我在下面写了一个例子

<button onclick="myStopFunction()">Stop time</button>

作品确保
myStopFunction()
是全局的。如果
myStopFunction
在另一个函数中定义>@Musa Nope-它是全局的,但仍然不工作…控制台是否显示任何错误?
var timer;
function mySetFunction(){
      clearInterval(timer);
      timer = setInterval(function() {update()}, 1000);
}

function myStopFunction()
{
clearInterval(timer);
}