我正在尝试制作计时器。因此我做了一个对象Timer
。当我试图启动计时器(startTimer
)时,我卡住了。我想使用setInterval倒计时,并希望使用runTimer
作为回调。
我以为我可以用self.runTimer
来做这件事。不幸的是,这不起作用(uncaught TypeError: self.runTimer is not a function
)。
我该怎么做?
这是我的代码中的大部分内容。
var mins;
var secs;
var isPaused;
var countdownID;
var bigTime = 1499;
var Timer = {
runTimer: function () {
mins = Math.floor(bigTime / 60);
secs = bigTime - mins * 60;
// change the HTML to show new minutes and seconds
minutes.innerHTML = (mins < 10 ? '0' : '') + mins;
seconds.innerHTML = (secs < 10 ? '0' : '') + secs;
if (bigTime == 0) {
bigTime = 1499;
clearInterval(countdownID);
} else if (!isPaused) {
bigTime = bigTime - 1;
}
},
startTimer: function () {
message.innerHTML = "timer started";
countdownID = setInterval("self.runTimer()", 1000);
},
resetTimer: function () {
message.innerHTML = "Let's focus!";
bigTime = 1499;
minutes.innerHTML = "25";
seconds.innerHTML = "00";
isPaused = false;
},
resumeTimer: function () {
message.innerHTML = "timer resumed";
isPaused = false;
},
stopTimer: function () {
message.innerHTML = "timer stopped";
isPaused = true;
}
};
我有4个按钮(开始,停止,恢复,重置)正在监听点击以启动/停止/恢复/重置计时器。