キューで開始、一時停止、再開するように設計された一連のタイマーを作成しました。タイマーが立ち上がると、自分のページ上の数字が動的に更新されます。私が持っている問題は、タイマーを一時停止する前に中断したところからタイマーを開始する方法を考え出すことです。私は一から再起動することができますが、一時停止を取る方法がわかりません。Date.now()
の値を入力し、正しい値を表示するために数式に入力してください。それは私がちょうど把握できない何か愚かなものになります。Javascriptはタイマーの不具合を一時停止しています...それを計算できません
function ticking2(num) {
//IF TIMER IS PAUSED CANCEL THE ANIMATION FRAME
if (timerObjArray[num].paused == true) {
timerObjArray[num].restartTime = Date.now();
cancelAnimationFrame(id);
} else if (timerObjArray[num].paused == false) {
timerObjArray[num].initialTime = Date.now()
if (timerObjArray[num].restartTime != 0) {
//THIS IS THE LINE WHERE I AM HAVING TROUBLE
timerObjArray[num].milli = ((timerObjArray[num].initialTime - timerObjArray[num].initialDate) - (timerObjArray[num].initialTime - timerObjArray[num].restartTime))/1000;
} else {
timerObjArray[num].milli = ((timerObjArray[num].initialTime - timerObjArray[num].initialDate )/1000);
}
//THIS FUNCTION TAKES THE MS VALUE AND CONVERTS IT TO HH:MM:SS
convert(num, timerObjArray[num].milli * 1000);
id = requestAnimationFrame(function() {
ticking2(num);
});
}
}
ありがとうございました。
が、これはストップウォッチ(カウントアップ)またはカウントダウンタイマーですか? –
あなたはどのライブラリを使用していますか?これは普通のjavascriptではありません。 –
カウントアップするストップウォッチです。ストップウォッチは、これまでに作成したオブジェクトで、さまざまな値をキーとして保存します。 – lycrake