我使用下面的函数显示倒计数,并希望在计数器达到0时重新加载页面。我刚坐下看着柜台打到0,什么也没有发生。是不是location.reload()
假设刷新页面?当倒计数达到0时用Javascript重新载入页面
function secondPassed() {
var numDays = Math.floor(seconds/86400);
var numHours = Math.floor((seconds % 86400)/3600);
var numMinutes = Math.floor(((seconds % 86400) % 3600)/60);
var numSeconds = ((seconds % 86400) % 3600) % 60;
if (numSeconds < 10) {
numSeconds = "0" + numSeconds;
}
document.getElementById('count').innerHTML = "<span class='fa fa-clock-o' aria-hidden='true'></span> " +('' + numDays).slice(-2) + "d " + "" +('' + numHours).slice(-2) + "h " + "" + ('' + numMinutes).slice(-2) + "m " + "" +('' + numSeconds).slice(-2) + "s ";
if (seconds <= 0) {
clearInterval(countdownTimer);
location.reload();
} else {
seconds--;
}
}
setInterval(function() {
secondPassed();
}, 1000);
您是否在控制台中发现错误?我已经用你的代码做了一个jsfiddle,初始化'seconds'变量,并将'countdownTimer'赋值给setInterval函数)并且它工作。工作jsFiddle:[https://jsfiddle.net/fabio_silva/5sgnc818/](https://jsfiddle.net/fabio_silva/5sgnc818/) –
我没有看,我没有打开该页面了。我会寻找任何错误。 – Ciprian
你的'countdownTimer'是* undefined *当你尝试'clearInterval'因此'reload'没有被调用,因为执行被中止。 – dreyescat