【发布时间】:2016-02-03 15:13:49
【问题描述】:
时钟一直工作到零,这是它应该启动休息计时器的地方。问题是它变为零然后开始以负数倒计时。这是具有该代码的函数。顺便说一句,我的间隔是 100,所以我在测试时钟时不必等待很长时间。
//This function is the culprit
function start(){
$("#start").addClass("disabled");
$("#myreset").addClass("disabled");
var secs = Number("59");
var min = document.getElementById("sessiontime").innerHTML;
min = min-=1;
if(min > -1){
startcounter = setInterval(function(){
secs--;
if(secs > 9){
document.getElementById("mytimer").innerHTML = min +":"+ secs;
} else if(secs >=0 && secs < 10){
secs = "0"+secs;
document.getElementById("mytimer").innerHTML = min +":"+ secs;
} else if(secs < 0){
min--;
secs = 59;
} else if(secs === 0 && min === 0){
clearInterval(startcounter);
var x = document.getElementById("arrownumid").innerHTML;
mybreak(x);
}
},100);
}
}
【问题讨论】:
-
尝试在jsfiddle.net 中设置它,这将有助于我们帮助您调试它。
-
我对小提琴不熟悉,但这里是codepen codepen.io/sammyb123/pen/QyQaPr
-
尝试将
console.log语句放在代码中的重要位置,看看会执行什么。或者为您喜欢的浏览器使用 Javascript 调试器(按 F12)并在您的代码中设置断点。 -
问自己的问题:secs 为 0 时会发生什么? if 语句的哪个分支会执行?
标签: javascript variables if-statement timer