创建一个有错误的秒表

时间:2017-03-08 07:24:47

标签: javascript typescript

我有一个效果很好的秒表但在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)

2 个答案:

答案 0 :(得分:1)

如果您有选项,请使用moment.js格式化已用时间。

this.total = moment.utc(this.time).format("mm:ss.SSS"))

否则忽略此答案;)

答案 1 :(得分:0)

我认为你的第二次计算是错误的。使用以下陈述而不是你的陈述。

var sec = Math.floor(this.time / 10)%60;