我写了这个简单的JS计时器,我有if
分钟的问题,它仍然写在第一秒00:01,第二秒000:02 ......如果你理解我。你能帮帮我吗?谢谢
var sec = 0;
var min = 0;
var time;
function timer() {
sec++;
if (sec < 10) {
sec = "0" + sec;
}
if (min < 10) { //here is problem I think
min = "0" + min;
}
if (sec == 60) {
sec = 0;
min++;
}
if (sec == 5) { //this is just a function test
document.getElementById("myForm").submit();
}
document.getElementById("myTimer").innerHTML = min + ":" + sec;
}
function start() {
time = setInterval("timer()", 1000);
}
答案 0 :(得分:2)
每次运行函数时,它会在min
的开头添加零,这是一个全局变量。这就是为什么它按照它的方式工作的原因。
您可以使用临时变量将时间保存为字符串。
var sec = 0;
var min = 0;
var time;
function timer() {
sec++;
var minStr = (min < 10) ? '0' + min : '' + min;
var secStr = (sec < 10) ? '0' + sec : '' + sec;
document.getElementById("myTimer").innerHTML = minStr + ":" + secStr;
}
function start() {
time = setInterval("timer()", 1000);
}
start();
<div id="myTimer"></div>