【发布时间】:2017-01-18 06:56:13
【问题描述】:
我是一名尝试创建番茄钟项目的编程初学者,并希望在会话倒计时完成后触发中断倒计时。如图所示。
计时器是通过输入字段设置的,根据想法中断计时器应该倒计时设置值,实际上它倒计时会话的值。
Javascript 代码
function sessionTimer(seconds) {
clearInterval(countdown);
const t = new Date();
const end = t.getTime() + seconds * 1000;
displayTimerLeftSession(seconds);
console.log({
t,
end
});
countdown = setInterval(() => {
if (!isPaused) {
const remainSeconds = Math.round((end - t.getTime()) / 1000);
if (remainSeconds < 0) {
clearInterval(countdown);
breakTimer(seconds);
return;
}
displayTimerLeftSession(remainSeconds);
t.setSeconds(t.getSeconds() + 1);
}
}, 1000);
t.setSeconds(t.getSeconds() + 1) - 1;
}
我知道是什么问题。因为我在 sessionTimer 函数中调用了 breakTimer,但是我不知道如何在会话后进行中断计时器倒计时。我的代码很草率,无论如何都需要重构。请不要严厉评价我。想看代码请参考the Project
【问题讨论】:
标签: javascript timer