おそらく最も明確なタイトルではありませんが、ここにあります-ページに2つの独立したカウントダウンを表示し、それぞれの開始値のユーザー入力を受け入れる必要があります。一方がゼロに達すると、もう一方が開始してゼロまでカウントダウンします。このためのコードは以下のとおりで、期待どおりに機能しています。
変数の開始値をチェックするTimer1関数を呼び出します。開始値が存在する場合は、カウントが開始されます。カウントがゼロになったら、間隔をクリアし、表示を開始値にリセットし、値が割り当てられている場合は2番目のタイマーを起動します。
function Timer1() {
var gDuration = goTime;
countdown = setInterval(function () {
if (gDuration >= 0) {
$("#durationValue").html(ToTime(gDuration));
gDuration--;
}
else {
clearInterval(countdown);
$("#durationValue").html(ToTime(goTime));
if (restTime != 0) {
Timer2();
}
}
}, 1000);
}
function Timer2() {
var rDuration = restTime;
countdown = setInterval(function () {
if (rDuration >= 0) {
$("#restValue").html(ToTime(rDuration));
rDuration--;
}
else {
clearInterval(countdown);
$("#restValue").html(ToTime(restTime));
}
}, 1000);
}
次のステップは、そのプロセスを設定された数のループで実行できるようにすることです。Timer1のsetIntervalをforループでラップしようとしましたが、機能しません。これについてもっとうまくいく方法はありますか?