我正在尝试创建一个番茄钟(倒数计时器,25分钟的生产力和5分钟的休息时间倒计时),我无法停止休息时间倒计时。
这是我到目前为止的Javascript:
function startTimer(duration, display) {
var timer = duration, minutes, seconds;
var countdown = setInterval(function () {
minutes = parseInt(timer / 60, 10)
seconds = parseInt(timer % 60, 10);
seconds = seconds < 10 ? "0" + seconds : seconds;
display.textContent = minutes + ":" + seconds;
if (--timer < 0) {
clearInterval(countdown);
var breakClock = function() {
$("#title").text(function(i, text){
return text === 'Breaktime' ? 'Productive Countdown' : 'Breaktime'
});
var fiveMinutes = 60 * .05,
display = document.querySelector('#time');
startTimer(fiveMinutes, display);
if (--timer < 0) {
clearInterval(this.countdown);
}
};
breakClock();
}
}, 500);
}
$(".startClock").click(function(){
var twentyfiveMinutes = 60 * .25,
display = document.querySelector('#time');
startTimer(twentyfiveMinutes, display);
});
这是我的代码:http://codepen.io/cenjennifer/pen/pjzBVy?editors=101
仅供参考:我减少了时间,以便我可以轻松测试功能。
答案 0 :(得分:2)
变化:
clearInterval(this.countdown);
为:
clearInterval(countdown);
不需要this
关键字,因为countdown
变量是breakClock()
函数的父范围的局部变量。