Javascript 创建一个倒计时计时器,并在倒计时归零后重定向到另一页

Javascript 创建一个倒计时计时器,并在倒计时归零后重定向到另一页,javascript,countdowntimer,Javascript,Countdowntimer,我想用javascript为我的asp.net站点的som部分创建一个倒计时 计时器从不同的分钟或秒开始。倒计时到零后,我想停止计时器的滴答声,并执行重定向到另一页之类的操作。 我从谷歌上找到了这段代码,它还可以,但在倒计时到零后,它永远不会停止。请帮我修复这个错误 <head> <script> function startTimer(duration, display) { var timer = duration, minutes, seco

我想用javascript为我的asp.net站点的som部分创建一个倒计时
计时器从不同的分钟或秒开始。倒计时到零后,我想停止计时器的滴答声,并执行重定向到另一页之类的操作。
我从谷歌上找到了这段代码,它还可以,但在倒计时到零后,它永远不会停止。请帮我修复这个错误

<head>
<script>
    function startTimer(duration, display) {
        var timer = duration, minutes, seconds;
        setInterval(function () {
            minutes = parseInt(timer / 60, 10)
            seconds = parseInt(timer % 60, 10);

            minutes = minutes < 10 ? "0" + minutes : minutes;
            seconds = seconds < 10 ? "0" + seconds : seconds;

            display.textContent = minutes + ":" + seconds;

            if (timer-- < 0) {
                //window.location = "http://www.example.com";
                clearInterval(timer);
            }
        }, 1000);
    }

    window.onload = function () {
        var fiveMinutes = 60 * 5,
            display = document.querySelector('#time');
        startTimer(fiveMinutes, display);
    };
</script>
</head>
<body>
    <div>Registration closes in <span id="time">05:00</span></div>
    <form id="form1" runat="server">

    </form>
</body>

功能启动计时器(持续时间、显示){
var定时器=持续时间,分钟,秒;
setInterval(函数(){
分钟=parseInt(计时器/60,10)
秒=parseInt(计时器%60,10);
分钟=分钟<10?“0”+分钟:分钟;
秒=秒<10?“0”+秒:秒;
display.textContent=分钟+“:”+秒;
如果(计时器--<0){
//window.location=”http://www.example.com";
清除间隔(计时器);
}
}, 1000);
}
window.onload=函数(){
变量五分钟=60*5,
display=document.querySelector(“#time”);
startTimer(五分钟,显示);
};
报名截止时间为05:00

您必须清除setInterval返回的内容。像这样的


功能启动计时器(持续时间、显示){
var定时器=持续时间,分钟,秒;
var end=setInterval(函数(){
分钟=parseInt(计时器/60,10)
秒=parseInt(计时器%60,10);
分钟=分钟<10?“0”+分钟:分钟;
秒=秒<10?“0”+秒:秒;
display.textContent=分钟+“:”+秒;
如果(--定时器<0){
//window.location=”http://www.example.com";
清除间隔(结束);
}
}, 1000);
}
window.onload=函数(){
var五分钟=5,
display=document.querySelector(“#time”);
startTimer(五分钟,显示);
};
报名截止时间为05:00

Gotrank公认的答案很好——不过有一个小错误:

    var fiveMinutes = 5,
…应该是

    var fiveMinutes = 300,

…五分钟(当前为5秒)。我可能会发表评论,但我还没有足够的声誉点数。

嗯,除了每个人都回答的问题之外,你知道这段代码不是计时器,对吗?它总是在1000毫秒后开火谢谢,不管你说什么。。。但这段代码对我的网站来说是倒计时。这是真的,但我认为没有人愿意等待5分钟才能看到结果。:)对于那些偶然发现您的代码并困惑于为什么五分钟不是五分钟的初学者来说,这是一个清晰的问题:)