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

Create a countdown timer and redirect to another page after countdown comes to zero

我想用 javascript 为我的 asp.net 站点的某些部分创建一个倒计时计时器。
计时器从不同的分钟或秒开始。倒计时归零后,我想停止计时器滴答并做一些事情,比如重定向到另一个页面。
我从 google 找到了这段代码,它没问题,但在倒计时归零后永远不会停止。请帮我修复这个错误。

<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>

你要清楚什么setIntervalreturn。像这样。

<script>
    function startTimer(duration, display) {
        var timer = duration, minutes, seconds;
        var end =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(end);
            }
        }, 1000);
    }

    window.onload = function () {
        var fiveMinutes = 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>

Gotrank 接受的答案很棒 - 不过有一个小错误:

    var fiveMinutes = 5,

...应该...

    var fiveMinutes = 300,

...五分钟(当前为 5 秒)。我本来想评论的,但是我的声望点数还不够