我有一个效果很好的秒表但在60秒后以秒值计算我需要定时器变为零并且最小值为1,并且以相同的方式每60秒分钟应该改变
/* Stopwatch */
starttime(){
console.log("timer started");
if( this.running == 0){
this.running = 1;
this.adder()
}else{
this.running = 0;
}
}
reset(){
console.log("timer reset");
this.running = 0;
this.time = 0;
this.total = 0;
this.Sec = 0;
}
adder(){
console.log("timer incrementor");
if(this.running == 1){
setTimeout(()=>{
this.time++;
var mins = Math.floor(this.time/10/60);
var sec = Math.floor(this.time / 10 );
var tens = this.time/10;
this.total = mins + ':' + sec;
console.log(this.total) ;
this.Sec = sec;
this.adder()
},10)
}
}
但是在这里时间变化,秒加起来当它达到60时它不会变为零它移动到61,62,63 .... 120秒后的采样时间是0:2:120,我需要什么是0:2:0(小时:秒:分钟)
修改'var sec = Math.floor(this.time / 10)%60后工作正常;'并将设定的时间更改为
this.adder()
},100)
答案 0 :(得分:1)
答案 1 :(得分:0)
我认为你的第二次计算是错误的。使用以下陈述而不是你的陈述。
var sec = Math.floor(this.time / 10)%60;