2017-03-08 13 views
0

私はストップウォッチが効いていますが、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) 
     } 

    } 

時間変化は、秒加算されますそれは61,62,63に移り60に到達したときにはゼロになるではなく、ここで.... 120秒後にサンプル時間は0:2:120 0、2:0(hrs:sec:分)

'var sec = Math.floor(this.time/10)%60;'設定されたタイムアウト時間を

に変更しました
this.adder() 

       },100) 

答えて

0

私は2番目の計算が間違っていると思います。あなたの代わりに次のステートメントを使用してください。

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

屋が、これは働いていたが、私はmytimerは、モバイルタイマーが15SEである20秒の時に私のタイマーは、私は私の携帯電話でのストップウォッチで私のタイマーを比較して高速に取り組んでいると感じ –

+0

私は100に設定されたタイムアウト時間を最初に変更しました10はうまく働いていましたあなたのansのためにありがとうございました%60 –

+0

私はこの状態をどのように伝えることができます00:00私のタイマーに任意の提案@reza –

1

オプションがある場合は、moment.jsを使用して経過時間をフォーマットします。

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

そうでない場合は、この答えを無視;)

関連する問題