创建倒计时计时器并在倒计时归零后重定向到另一个页面
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 秒)。我本来想评论的,但是我的声望点数还不够
我想用 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 秒)。我本来想评论的,但是我的声望点数还不够