当倒计时达到0时,使用Javascript重新加载页面

时间:2015-06-18 21:25:53

标签: javascript

我使用以下函数显示倒计时,并希望在计数器达到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);

2 个答案:

答案 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--;
    }