李逍遥lh
2016-08-15 10:27
<!DOCTYPE html>
<html>
<head>
<title>浏览器对象</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<!--先编写好网页布局-->
<p>操作成功</p>
<p><span id="back">5秒回到页面 </span>
<a style="text-decoration:underline ">返回</a></p>
<script type="text/javascript">
//获取显示秒数的元素,通过定时器来更改秒数。
var aaa=document.getElementById("back");
var bbb=5;
function con()
{
bbb--;
aaa.innerHTML=bbb+"秒后回到页面";
}
var i=setInterval("con()",1000);
if(bbb==0)
{
clearInterval(i);
}
//通过window的location和history对象来控制网页的跳转。
</script>
</body>
</html>
回复 李逍遥lh: <script type="text/javascript">
//获取显示秒数的元素,通过定时器来更改秒数。
var aaa = document.getElementById("back");
var bbb = 5;
var i = setInterval("con()", 1000);
function con() {
aaa.innerHTML = bbb + "秒后回到页面";
if(bbb == 0) {clearInterval(i);}bbb--;}
//通过window的location和history对象来控制网页的跳转。
</script>
失误了,要把判断函数放在循环里面,这样就可以了
if(bbb==0)
{
clearInterval(i);
}else{
setInterval("con()",1000);
}
就行了,你要把定时器放在判断语句里面,否则的话定时器无限循环,根本不会执行判断(bbb==0)
bbb=0时,setTimeout()停止,接着function函数继续执行,bbb=-1,setTimeout()继续显示时间,接着……
我觉得你只是停止计时器了,那个con方法还会执行,还会--
感觉没毛病啊
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题