我使用以下函数显示倒计时,并希望在计数器达到0
时重新加载页面。
我只是坐着看着柜台打到0,什么都没发生。是不是location.reload()
想刷新页面?
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);
答案 0 :(得分:3)
试试这个
/*
if true page will always reload from server
else page will load from cache
*/
window.location.reload(true);
答案 1 :(得分:1)
我提升了我的评论,因为它实际上是在描述这个问题。
当您尝试countdownTimer
时,clearInterval
未定义,因此执行被中止,因此reload
未被调用。
只需移除有问题的clearInterval
即可。
if (seconds <= 0) {
// >> clearInterval(countdownTimer);
location.reload();
} else {
seconds--;
}