繁体   English   中英

将时间格式化为字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM