var timer = setInterval(function() {update()}, 1000)
function myStopFunction()
{
clearInterval(timer);
}
和我的HTML:
<button onclick="myStopFunction()">Stop time</button>
我不明白为什么这不起作用?得到一些指针会很棒,我认为这是范围问题吗?
答案 0 :(得分:0)
你的程序并不完全清楚,因为我无法从这个小例子中找出你的功能范围。
然而,一种可能性是你已经在另一个函数中声明了setInterval函数,这个函数被多次调用。
在这种情况下,正在设置多个间隔,并且只使用clearInterval清除要设置的最后一个间隔。
如果这是你的问题,那么解决方案就是在每次setInterval之前将timer声明为全局变量然后clearInterval(timer)。
我在下面写了一个例子
var timer;
function mySetFunction(){
clearInterval(timer);
timer = setInterval(function() {update()}, 1000);
}
function myStopFunction()
{
clearInterval(timer);
}