0
目前正在使用一個簡單的番茄鍾,但我遇到了一個我無法解決的問題。當您按下開始按鈕時,定時器會倒計時,但是它會在00:01而不是00:00改變模式。有人可以偷看並提出導致此錯誤的原因嗎?我的計時器計數不正確
var flag = false;
var timer;
var work = 2;
var count = 0;
var breakTime = 3;
var workTime = 4;
var active = 'break';
$('.mins').html(updateNum(work));
$('.secs').html(updateNum(count));
$('.session-minutes').html(work);
function workTimer() {
if(count < 0) {
work--;
count = 2;
}
else if (work == 0 && count == 0) {
if(active === 'work') {
$(".timer-header").html('Work Time!');
work = workTime;
$('.mins').html(updateNum(work));
return active = 'break';
}
if (active === 'break') {
$(".timer-header").html('Break Time!');
console.log(active);
work = breakTime;
$('.mins').html(updateNum(work));
return active = 'work';
}
}
$('.mins').html(updateNum(work));
$('.secs').html(updateNum(count));
count--;
}
$('.start-button').click(function() {
if (flag == false) {
timer=setInterval(workTimer,1000);
$(this).html("stop");
flag = true;
return flag;
}
else if(flag == true){
clearInterval(timer);
$(this).html("start");
flag = false;
return flag;
}
})
$('.reset-button').click(function() {
if(flag == false) {
work = 10;
count = updateNum(0);
$('.mins').html(work);
$('.secs').html(count);
clearInterval(timer);
}
})
$('.session-plus').click(function() {
if(flag == false) {
if (work < 30) {
$('.mins').html(updateNum(++work));
$('.session-minutes').html(work);
}
}
})
$('.session-minus').click(function() {
if(flag == false) {
if (work > 1) {
$('.mins').html(updateNum(--work));
$('.session-minutes').html(work);
}
}
})
function updateNum(num) {
if(num < 10 && num.length != 2) {
return num = "0" + num;
}
else {
return num;
}
}
https://jsfiddle.net/6vnkgt3h/
這樣嗎? https://jsfiddle.net/6vnkgt3h/1/ –
仍然是同樣的問題。當工作模式結束時,休息模式從03:01開始,應該從03:00開始 – mati
不確定你的意思,當我運行計時器時找不到任何問題 –