setInterval在添加窗口时冻结在if语句中的location



我在这里有一个基本计时器。从5开始,零,没什么大不了的。如果我不包括窗口。将计时器达到零并清除间隔后重定向页面的if语句中,则会发生两件事。如果在清晰的间隔语句之前添加" window.location",则间隔将在四秒钟内冻结并停止倒数。如果我添加窗口。清晰间隔后,则间隔为4,然后自动重定向到零。倒数时,代码几乎好像在5和4之间识别一个" 0"。有建议吗?

<p> You will be redirected in <span id="countdowntimer">5 </span> Seconds</p>
<script type="text/javascript">
    var timeleft = 5;
    var downloadTimer = setInterval(function() {
        timeleft--;
        document.getElementById("countdowntimer").textContent = timeleft;
        if (timeleft <= 0)
            window.location.href = "testpage.html";
            clearInterval(downloadTimer);
    }, 1000);
</script>

我弄清楚了,当我最初编写代码时,我没有在IF条件周围放括号,因为它是一行。我现在看到我需要在多行周围括号,如果现在正常工作。

最新更新