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

<!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>

慕田峪5648110
浏览 1182回答 2
2回答

摩诃迦叶

if(da>0){        document.getElementById("id").innerHTML=--da;        setInterval(set,1000);}因为你在这里面又调用了setInterval(set,1000);方法。 每次执行到这时都会又开一个计时器,就变成每秒多个计时器多同一个da进行--,数值肯定错了。 把这句话删掉就行了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript