Я делаю часы Pomodoro. Я взял объект clock
, добавлено start
, pause
, resume
функции. Чтобы повторно запустить такт в функции start
, я добавил две переменные s
и b
, чтобы сохранить исходное время сеанса и разбить. Таким образом, в функции pause
, когда я удаляю таймер, исходное время сеанса и прерывания удаляется. так resume
функция часы смотрит с самого начала. Теперь, как написать функцию pause
в правильном направлении, чтобы сделать resume
?Pomodoro clock: кнопка возобновления не работает
Это ссылка JSfiddle. http://jsfiddle.net/sajibBD/f18nh323/3/
Заранее благодарен!
var Clock = {
sessionSeconds: 0,
breakSeconds: 0,
start: function() {
var self = this;
var s = this.sessionSeconds + 1;
var b = this.breakSeconds + 1;
this.interval = setInterval(function() {
if (s > 0) {
s -= 1;
$('#state').text('Session');
$("#min").text(Math.floor(s/60 % 60));
$("#sec").text(parseInt(s % 60));
} else if (b > 0) {
b -= 1;
$('#state').text('Break');
$("#min").text(Math.floor(b/60 % 60));
$("#sec").text(parseInt(b % 60));
} else if (b === 0) {
s = self.sessionSeconds + 1;
b = self.breakSeconds + 1;
}
var min = $("#min").text();
var sec = $("#sec").text();
if (min.length === 1) {
$("#min").text('0' + min);
}
if (sec.length === 1) {
$("#sec").text('0' + sec);
}
}, 1000)
},
pause: function() {
clearInterval(this.interval);
delete this.interval;
},
resume: function() {
if (!this.interval) this.start();
},
}
Я думаю, что вы не проверял. время сеанса не повторяется. время прерывания повторяется снова и снова! –