为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这样写第三秒不会显示

为什么这样写第三秒不会显示

慕田峪5648110 2016-09-02 00:29:14
<!DOCTYPE html><html> <head>  <title>浏览器对象</title>    <meta http-equiv="Content-Type" content="text/html; charset=gkb"/>    </head> <body>  <!--先编写好网页布局-->  <H4>操作成功</H4>  <p><span id="id">5</span>秒后回到主页<a href="#" onclick="set()">返回</a><p>     <script type="text/javascript">      //获取显示秒数的元素,通过定时器来更改秒数。var da=document.getElementById("id").innerHTML;function set(){    if(da>0){        document.getElementById("id").innerHTML=--da;        setInterval(set,1000);        }else{            window.location.assign("http://www.baidu.com");        }    }setInterval(set,1000);   //通过window的location和history对象来控制网页的跳转。    </script> </body></html>
查看完整描述

2 回答

?
摩诃迦叶

TA贡献146条经验 获得超54个赞


if(da>0){
        document.getElementById("id").innerHTML=--da;
        setInterval(set,1000);

}

因为你在这里面又调用了setInterval(set,1000);方法。 每次执行到这时都会又开一个计时器,就变成每秒多个计时器多同一个da进行--,数值肯定错了。 把这句话删掉就行了

查看完整回答
1 反对 回复 2016-09-02
  • 2 回答
  • 0 关注
  • 1181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信