setTimeout实现
<!-- 8秒倒计时 --> <p><span id="time"></span>秒后自动跳转到百度</p> <!-- js部分 --> function countDown(secs, url) {
// secs--设置倒计时秒数,url--要跳转的链接 var time = document.getElementById("time") time.innerHTML = secs // 页面上显示所设定的倒计时时长 if(--secs>0){
setTimeout(countDown, 1000, secs, surl) // 剩余秒数>0继续每秒执行一次 // setTimeout("count(" + secs + ",'" + surl + "')", 1000) 这样的写法也可以,但该语法不推荐,有安全风险 } else {
location.href = surl // 剩余秒数=0,页面调向指定url } } counDown(8, "www.baidu.com")
setTimeInterval实现
<p><span id="time"></span>秒后自动跳转到百度</p> <!-- js部分 --> var secs = 8 // 初始化倒计时时长8s var time = document.getElementById("time") time.innerHTML = secs // 给页面倒计时处初始化赋值,这样就不用在标签处手动写上8了 var interval = setInterval(countDown, 1000, "www.baidu.com") // 设定一个时间循环,1s执行一次countDown函数 function countDown(surl) {
if(--secs<0) {
//剩余时间为0的时候清除时间循环,跳转去www.baidu.com clearInterval(interval) location.href = surl } time.innerHTML = secs }
注:setTimeout执行完可以不用执行clearTimeout,这个clearTimeout效果类似于微信撤回功能,假如setTimeout设置2分钟后自动跳转www.baidu.com,但用户在2分钟内突然不想让页面跳去baidu,执行clearTimeout就能取消这个定时操作了,但是如果2分钟都过了,显然定时器已经失效了。但是如果不执行clearInterval,setInterval就不会停止
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/224940.html原文链接:https://javaforall.net
