我正在使用JS的簡單定時器。當計時器達到0時,我想要「時間到!」彈出。當定時器完成時彈出多次警報窗口
$(document).ready(function() {
updateClock();
var timeInterval = setInterval(updateClock(), 1000);
});
var ms = 5000;
function updateClock() {
ms -= 1000;
var minutes = Math.floor(ms/1000/60);
var seconds = Math.floor((ms/1000) % 60);
$('#minutes').html(minutes);
$('#seconds').html(seconds);
if (ms <= 0) {
alert('Time is up!');
clearInterval(timeInterval);
};
}
現在,警報彈出多次。我懷疑這是因爲我使用clearInterval()
錯誤,當我打開了開發者控制檯,它說:
"Uncaught ReferenceError: timeInterval is not defined at updateClock."
不過,我不知道該怎麼改變,使其正常運行。
你在document.ready的匿名函數中定義變量timeInterval。因此它在updateClock內沒有定義。將變量設爲全局變量,它應該可以工作。 –