Javascript 将时间格式化为字符串

Javascript 将时间格式化为字符串,javascript,timer,setinterval,Javascript,Timer,Setinterval,我写了这个简单的JS计时器,我对有问题,如果持续几分钟,它仍然在第一秒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

我写了这个简单的JS计时器,我对
有问题,如果
持续几分钟,它仍然在第一秒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);
}
var-sec=0;
var min=0;
var时间;
函数计时器(){
sec++;
如果(第10节){
秒=“0”+秒;
}
如果(min<10){//我想这是个问题
最小值=“0”+最小值;
}
如果(秒=60){
秒=0;
min++;
}
如果(sec==5){//这只是一个函数测试
document.getElementById(“myForm”).submit();
}
document.getElementById(“myTimer”).innerHTML=min+“:”+sec;
}
函数start(){
时间=设置间隔(“计时器()”,1000);
}

每次函数运行时,它都会在
min
的开头添加一个零,这是一个全局变量。这就是为什么它的工作方式

可以使用临时变量将时间作为字符串保存

var-sec=0;
var min=0;
var时间;
函数计时器(){
sec++;
var minStr=(最小值<10)?“0”+最小值:“”+最小值;
var secStr=(秒<10)?“0”秒+秒:“”+秒;
document.getElementById(“myTimer”).innerHTML=minStr+“:”+secStr;
}
函数start(){
时间=设置间隔(“计时器()”,1000);
}
start()

每次函数运行时,它都会在
min
的开头添加一个零,这是一个全局变量。这就是为什么它的工作方式

可以使用临时变量将时间作为字符串保存

var-sec=0;
var min=0;
var时间;
函数计时器(){
sec++;
var minStr=(最小值<10)?“0”+最小值:“”+最小值;
var secStr=(秒<10)?“0”秒+秒:“”+秒;
document.getElementById(“myTimer”).innerHTML=minStr+“:”+secStr;
}
函数start(){
时间=设置间隔(“计时器()”,1000);
}
start()

注意,最好将函数引用而不是字符串作为第一个参数传递给setInterval,因此
setInterval(timer,1000)
;-)请注意,最好将函数引用而不是字符串作为第一个参数传递给setInterval,因此
setInterval(timer,1000)
;-)