为什么clearInterval()不起作用?我究竟做错了什么?我尝试了很多东西,但它们似乎没有成功......
var s = 60;
var timer = null;
function Ftimer (){
document.getElementById("sec").innerHTML = s--;
}
document.getElementById("start").onclick = function () {
var timer = setInterval(function(){ Ftimer() }, 1000);
}
document.getElementById("stop").onclick = function () {
clearInterval(timer);
}
答案 0 :(得分:2)
var timer
使范围成为onclick函数,而不是全局变量。
timer = setInterval(Ftimer, 1000);
答案 1 :(得分:1)
这是因为您在此处覆盖了您的初始timer
变量:
document.getElementById("start").onclick = function () {
// this clobbers your previous `timer` assignment
var timer = setInterval(function(){ Ftimer() }, 1000);
}
因此,只需删除var
并使用外部作用域timer
变量即可修复它:
document.getElementById("start").onclick = function () {
// this assigns to your previous `timer`
timer = setInterval(function(){ Ftimer() }, 1000);
}