2

私は時間を記録している1つのタイマーを開発しています。そのため、JavaスクリプトのsetIntervalメソッドを使用していますが、タブが非アクティブな場合に正しく機能しないという問題があります。

1つの解決策は、タイマーを開始した後、ユーザーがシステム時間を変更してタイマーに影響を与える場合、古い時間を保存し、その1つの問題で新しい時間を減算することです。他に考えられる方法や解決策があれば教えてください。

timerInterval = setInterval(function() {
    seconds=seconds+1;
    if(seconds==60)
    {
        minutes=minutes+1;
        if(minutes==60)
        {
            minutes=0;
            hours=hours+1;
        }                                               
        $("#task"+aData['taskId']).html(("0" + hours).slice(-2)+":"+("0" + minutes).slice(-2));
        seconds=0;
    }
},1000);
4

2 に答える 2

0

プランカーを作成し、時間を編集しましたが、タイマーは進み続けます。

$(document).ready(function(){
  var seconds = 0;
  var hours = 0;
  var minutes = 0;

  setInterval(function(){
    seconds++;
    if(seconds == 60)
    {
        seconds=0;
        minutes++;
        if(minutes == 60)
        {
            minutes=0;
            hours++;
        }    
    }
    $(".timer").html(("0" + hours).slice(-2)+":"+("0" + minutes).slice(-2)+":"+("0" + seconds).slice(-2));
  },1000);
});

およびhtmlでタイマーを表示するタグ:

<h2 class="timer"></h2>

http://plnkr.co/edit/yWQWrGxnkgOFvXDoLNhU?p=preview

これがあなたを助けるかどうか私に知らせてください!

于 2014-11-19T11:17:22.183 に答える