[英]Formatting a time as string
我写了这个简单的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);
}
每次函数运行时,它都会在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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.