0
function startTimer(duration, activity) {
function countdown() {
if ((duration - 1) > 0) {
duration--;
$("#timer").html(convertNumbers(duration))
} else {
if (activity === "session") {
startBreak();
} else {
startSession();
}
}
}
setInterval(countdown, 1000)
}
function startSession() {
var time = parseInt(($("#session_time").text()), 10);
startTimer(time * 60, "session");
$("#activity").html("Session");
}
function startBreak() {
var time = parseInt(($("#break_time").text()), 10);
startTimer(time * 60, "break");
$("#activity").html("Break");
}
で使用グリッチoccuringスタートボタン:ちらつき、のsetIntervalループ
$("#start").click(function() {
startSession();
});
私は1秒でデクリメントする毎秒を実行するsetIntervalを使用してポモドーロ時計を作っています。 startSession()関数は時間を取得し、durationが0のときにsetBreak()を指すstartTimer()関数を呼び出します。
startSessionとstartBreakの間で切り替えるのが理想的ですが、最初のカウントダウンの後に "#timer"で設定されたテキスト(時間の残り)でフリッカーと乱数を取得します。これは、startTimer()がstartBreak()を呼び出すときにIntervalを終了しないことと関係している可能性があります。
'これはInterval'を終了しないことと関係があります - あなたは正しいです、あなたは' clearInterval'を使う必要があります...間隔IDを保存する必要もあります –