我已经从一个函数中启动了此计时器,但是我无法通过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);
最佳答案
删除var TimerID = setInterval(function(){
并使其
TimerID = setInterval(function(){
使用
var TimerID = setInterval(function(){
将导致TimerID成为document.ready回调函数内部的局部变量。由于位于该作用域本地,因此无法在回调函数之外访问它。删除
var
将允许使用TimerID变量,而这似乎是在回调函数的作用域之外。关于javascript - 在功能中启动的停止计时器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30790566/