我已经在一个函数中启动了这个计时器,但是我不能用clearInterval
来停止它,如果我再次运行它,它只会让它快两倍。
var TimerID;
function StartTimer(){
$(document).ready(function() {
time=20;var Timer=document.getElementById('Timer');tmp=time;
var TimerID = setInterval(function(){
var c=tmp--,m=(c/60)>>0,s=(c-m*60)+'';
Timer.textContent=m+':'+(s.length>1?'':'0')+s
tmp!=0||(tmp=time);
},1000);
});}
clearInterval(TimerID);
答案 0 :(得分:4)
删除var TimerID = setInterval(function(){
并将其设为
TimerID = setInterval(function(){
使用var TimerID = setInterval(function(){
将导致TimerID成为document.ready回调函数内的局部变量。由于该范围是本地的,因此无法在回调函数之外访问它。
删除var
将允许使用回调函数范围之外的TimerID变量,这似乎是意图。
答案 1 :(得分:0)
删除' var'在你的功能中。您在功能范围内重新定义了timerid。您想使用全局范围内的那个。