我正在用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() --当我打开开发人员控制台时,它说:
“未定义的ReferenceError: timeInterval不在updateClock中定义。”
但是,我不知道要修改什么才能使它正常工作。
发布于 2016-12-30 20:33:08
变量timeInterval在$(document).ready(...)中
试试这个:
var timeInterval;
$(document).ready(function() {
updateClock();
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);
};
}https://stackoverflow.com/questions/41402280
复制相似问题