本文介绍了利用JavaScript实现页面倒计时自动跳转的两种常用方法:setTimeout与setInterval。通过具体代码示例展示了如何设置倒计时秒数、更新页面显示内容以及在时间结束时执行页面跳转或停止计时。同时指出了在jQuery文档就绪函数中调用自定义方法时可能遇到的作用域问题及解决方案。
使用 setTimeout 实现倒计时跳转
setTimeout() 方法允许在指定的毫秒数之后执行一次函数或计算表达式。
需要注意的是,setTimeout() 仅执行一次代码。若需重复执行,应使用 setInterval(),或者在回调函数内部再次调用 setTimeout() 来实现循环调用。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>setTimeout</title>
</head>
<body>
<div id='div1'> </div>
</body>
</html>
<script type="text/javascript">
//设定倒数秒数
var t = 10;
//显示倒数秒数
function showTime(){
t -= 1;
document.getElementById('div1').innerHTML= t;
if(t==0){
location.href='http://www.baidu.com';
}
//每秒执行一次,showTime()
setTimeout("showTime()",1000);
}
//执行showTime()
showTime();
</script>
使用 setInterval 实现持续倒计时
setInterval() 方法能够按照指定的时间间隔(以毫秒为单位)重复调用函数或计算表达式。
setInterval() 会持续调用函数,直到调用 clearInterval() 方法或关闭浏览器窗口为止。该方法返回一个 ID 值,该值可作为 clearInterval() 的参数用于停止计时器。
<html>
<body>
<input type="text" id="clock" size="35" />
<script language=javascript>
var int=self.setInterval("clock()",50)
function clock()
{
var t=new Date()
document.getElementById("clock").value=t
}
</script>
</form>
<button onclick="int=window.clearInterval(int)">
Stop interval</button>
</body>
</html>
以下是相关的参考资料介绍。
关于 setInterval() 函数的详细用法,可参阅相关章节。
关于 location.href 属性的具体应用,可参阅 Location 对象的相关章节。
关于 innerHTML 属性的使用方法,可参阅 JavaScript 中 innerHTML 用法的章节。
接下来通过具体的示例代码进行演示。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js定时跳转页面的方法</title>
</head>
<body>
<script type="text/javascript">
var t=10;//设定跳转的时间
setInterval("refer()",1000); //启动1秒定时
function refer(){
if(t==0){
location="www.baidu.com"; //#设定跳转的链接地址
}
document.getElementById('show').innerHTML=""+t+"秒后跳转"; // 显示倒计时
t--; // 计数器递减
}
</script>
<span id="show"></span>
</body>
</html>
常见问题与注意事项
在实际操作中可能遇到的问题。
如果将上述 JavaScript 方法放置在 $(function(){......}) 中,浏览器可能会报错提示 methodXX() is not defined。
建议将 function(){} 的定义直接放置在 <script></script> 标签内,以确保作用域正确。
以上介绍了 JavaScript 实现时间倒计时跳转的方法,希望有所帮助。如有疑问欢迎留言,小编会及时回复。感谢对本站的支持!