如何在零后停止倒计时
How to stop countdown after zero
我尝试创建一个 javascript
倒计时然后重定向到另一个站点。
但是当它达到零并加载页面时,倒计时开始计数 -1
、-2
等,直到重定向到另一个页面。
这是我尝试过的:
function countdown(remaining) {
if(remaining === 0)
window.location = '<?php echo $link_redirect ?>';
document.getElementById('countdown').innerHTML = remaining;
setTimeout(function(){ countdown(remaining - 1); }, 1000);
};
您的页面加载需要一些时间,以便您的脚本能够连续执行。您可以在else部分编写计数器减少的代码。
function countdown(remaining) {
if(remaining === 0)
window.location = '<?php echo $link_redirect ?>';
else
{
document.getElementById('countdown').innerHTML = remaining;
setTimeout(function(){ countdown(remaining - 1); }, 1000);
}
};
function countdown(remaining) {
if(remaining === 0){
window.location = '<?php echo $link_redirect ?>';
} else{
document.getElementById('countdown').innerHTML = remaining;
setTimeout(function(){ countdown(remaining - 1); }, 1000);
}
};
countdown(20);
function countdown(remaining) {
document.getElementById('countdown').innerHTML = remaining;
if(remaining === 0) {
//window.location = '<?php echo $link_redirect ?>';
document.getElementById('countdown').innerHTML = "redirect"
} else {
setTimeout(function(){ countdown(remaining - 1); }, 1000);
}
};
<div id="countdown">
</div>
简单的加上条件只在剩余大于0时倒计时
function countdown(remaining) {
document.getElementById('countdown').innerHTML = remaining;
if(remaining > 0) {
setTimeout(function(){ countdown(remaining - 1); }, 1000);
} else {
window.location = '<?php echo $link_redirect ?>';
}
;
您可以尝试我的示例,它运行良好:
$(function(){countdown1($('#countdown1').html());})
function countdown1(remaining) {
console.log('remaining is : ' + remaining);
if(remaining === 0)
window.location = '<?php echo $link_redirect ?>';
$('#countdown1').html(remaining);
setTimeout(function(){ countdown1(remaining - 1); }, 1000);
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="countdown1">10</div>
可能使用匿名函数的主题变体
<div id='countdown'></div>
<script>
(function( time, url ){
/* variable used as a timer */
var t=NaN;
(function(){
/* display current count */
document.getElementById('countdown').innerHTML=time;
/* invoke anonymous function every second */
t=setTimeout( arguments.callee, 1000 );
/* if the countdown has expired, clear the timer and redirect */
if( time <= 0 ){
clearTimeout( t );
location.href=url;
}
/* reduce count */
time--;
})();
/* configure time and url here */
})( 10, 'http://www.example.com' );
</script>
我尝试创建一个 javascript
倒计时然后重定向到另一个站点。
但是当它达到零并加载页面时,倒计时开始计数 -1
、-2
等,直到重定向到另一个页面。
这是我尝试过的:
function countdown(remaining) {
if(remaining === 0)
window.location = '<?php echo $link_redirect ?>';
document.getElementById('countdown').innerHTML = remaining;
setTimeout(function(){ countdown(remaining - 1); }, 1000);
};
您的页面加载需要一些时间,以便您的脚本能够连续执行。您可以在else部分编写计数器减少的代码。
function countdown(remaining) {
if(remaining === 0)
window.location = '<?php echo $link_redirect ?>';
else
{
document.getElementById('countdown').innerHTML = remaining;
setTimeout(function(){ countdown(remaining - 1); }, 1000);
}
};
function countdown(remaining) {
if(remaining === 0){
window.location = '<?php echo $link_redirect ?>';
} else{
document.getElementById('countdown').innerHTML = remaining;
setTimeout(function(){ countdown(remaining - 1); }, 1000);
}
};
countdown(20);
function countdown(remaining) {
document.getElementById('countdown').innerHTML = remaining;
if(remaining === 0) {
//window.location = '<?php echo $link_redirect ?>';
document.getElementById('countdown').innerHTML = "redirect"
} else {
setTimeout(function(){ countdown(remaining - 1); }, 1000);
}
};
<div id="countdown">
</div>
简单的加上条件只在剩余大于0时倒计时
function countdown(remaining) {
document.getElementById('countdown').innerHTML = remaining;
if(remaining > 0) {
setTimeout(function(){ countdown(remaining - 1); }, 1000);
} else {
window.location = '<?php echo $link_redirect ?>';
}
;
您可以尝试我的示例,它运行良好:
$(function(){countdown1($('#countdown1').html());})
function countdown1(remaining) {
console.log('remaining is : ' + remaining);
if(remaining === 0)
window.location = '<?php echo $link_redirect ?>';
$('#countdown1').html(remaining);
setTimeout(function(){ countdown1(remaining - 1); }, 1000);
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="countdown1">10</div>
可能使用匿名函数的主题变体
<div id='countdown'></div>
<script>
(function( time, url ){
/* variable used as a timer */
var t=NaN;
(function(){
/* display current count */
document.getElementById('countdown').innerHTML=time;
/* invoke anonymous function every second */
t=setTimeout( arguments.callee, 1000 );
/* if the countdown has expired, clear the timer and redirect */
if( time <= 0 ){
clearTimeout( t );
location.href=url;
}
/* reduce count */
time--;
})();
/* configure time and url here */
})( 10, 'http://www.example.com' );
</script>