7

JSFiddle毎秒カウントアップするタイマー付きのを見つけました 。私はこれを分と秒だけで動作させたいと思っています。時間はありません。

何か案は?

4

6 に答える 6

9
  • DATE_OBJ.getSeconds()オブジェクトの秒を取得しDateます。
  • DATE_OBJ. getMinutes()オブジェクトの議事録を取得しDateます。
  • setInterval毎秒後にハンドラー関数を呼び出す( 1000ms)。

var handler = function() {
  var date = new Date();
  var sec = date.getSeconds();
  var min = date.getMinutes();
  document.getElementById("time").textContent = (min < 10 ? "0" + min : min) + ":" + (sec < 10 ? "0" + sec : sec);
};
setInterval(handler, 1000);
handler();
<h1 id="time" style="text-align: center"></h1>

于 2013-10-17T15:10:38.663 に答える
5

これを処理する正確な方法は次のとおりです。

  1. スクリプトの開始時刻を保存する
  2. 繰り返し呼び出される関数で経過時間を取得する
  3. 経過時間を任意の形式に変換して表示する

サンプルコード:

var initialTime = Date.now();

function checkTime(){
  var timeDifference = Date.now() - initialTime;
  var formatted = convertTime(timeDifference);
  document.getElementById('time').innerHTML = '' + formatted;
}

function convertTime(miliseconds) {
  var totalSeconds = Math.floor(miliseconds/1000);
  var minutes = Math.floor(totalSeconds/60);
  var seconds = totalSeconds - minutes * 60;
  return minutes + ':' + seconds;
}
window.setInterval(checkTime, 100);

時間の確認の粒度は簡単に変更できます (現在は 0.1 秒に設定されています)。このタイマーには、更新時に非同期にならないという利点があります。

于 2013-10-17T15:05:35.633 に答える
3

呼び出されるたびにカウンターをインクリメントし、値を次のように表示する関数を作成できます: counter/60 minutes, counter%60 seconds

次に、このsetInterval関数を使用して、JavaScript に毎秒コードを呼び出させることができます。それほど正確ではありませんが、単純なタイマーには十分です。

于 2013-10-17T14:51:05.597 に答える
0

これは何かあるかも? JavaScriptのプレーンカウントアップタイマー

setInterval メソッドに基づいています。

setInterval(setTime, 1000);
于 2013-10-17T14:51:37.387 に答える