Javascript 0:00时如何停止计时器循环?
当它结束时,它会不断地循环回来。我如何阻止它,如何创建和警告游戏结束Javascript 0:00时如何停止计时器循环?,javascript,Javascript,当它结束时,它会不断地循环回来。我如何阻止它,如何创建和警告游戏结束 if(levelOption === 0) { time = 60 * 0.1, g = document.getElementById('g'), tmp = time; setInterval(function() { var c = tmp--, m = (c/60) >> 0, s = (c-m*60) + ''; g.textContent = '' + m
if(levelOption === 0) {
time = 60 * 0.1, g = document.getElementById('g'), tmp = time;
setInterval(function() {
var c = tmp--, m = (c/60) >> 0, s = (c-m*60) + '';
g.textContent = '' + m + ':' + (s.length > 1 ? '' : '0') + s tmp != 0 || (tmp = time);
}, 1000);
} else if(levelOption === 1) {
time = 60 * 10, g = document.getElementById('g'), tmp = time;
setInterval(function(){
var c = tmp--, m = (c/60) >> 0, s = (c-m * 60) + '';
g.textContent = '' + m + ':' + (s.length > 1 ? '' : '0') + s tmp != 0 || (tmp = time);
}, 1000);
} else {
time = 60 * 20, g = document.getElementById('g'), tmp = time;
setInterval(function() {
var c = tmp--, m = (c/60) >> 0, s = (c-m * 60) + '';
g.textContent = '' + m + ':' + (s.length > 1 ? '' : '0') + s tmp != 0 || (tmp = time);
}, 1000);
}
let interval=setInterval代码>
var myCounter=setInterval(…)
)来命名时间间隔,您可以稍后使用clearInterval(myCounter)
清除时间间隔
我不知道您在哪种情况下使用这些计数器,但我认为您可以简化逻辑。查看此计数器是否适用于您:
time=3,
g=document.getElementById('g'),
tmp=时间;
//这里我们命名我们的间隔
var myCounter=setInterval(函数(){
//如果计数器已达到0,请清除间隔
如果(tmp==0)清除间隔(myCounter)
//设置分钟和秒值
var m=(tmp/60)>>0,
s=tmp-m*60;
//打印值
g、 textContent=m+':'+((s>9)?'':'0')+s;
//完成对计数器的修改
tmp--;
}, 1000);代码>
如何将时间改为5分钟而不是3秒?时间
以秒为单位。一分钟内60秒表示时间=60*5,持续5分钟。我更新了代码片段打印s
值的方式!是的,那是有道理的。谢谢。我试图通过r.textContent=m+':'+((s.length>1)?“”)+s更新s
值代码>但5分钟会删除0,例如5:0,然后返回到4:59。如果我正确理解了你的问题,那是因为在你的原始代码中,s
是一个字符串,你可以毫无问题地测试s.length
。在我更新的代码段中,s
是一个整数,这意味着s.length
将不起作用。对于整数,测试它是1位还是2位数字更容易的方法是检查它的实际值(9是最高的1位数字)。