setInterval("count()",1000)改成setTimeout(”count()",1000)为什么就不行

来源:8-17 编程练习

慕粉18144024425

2016-12-08 16:59

<!DOCTYPE html>

<html>

 <head>

  <title>浏览器对象</title>  

  <meta http-equiv="Content-Type" content="text/html; charset=gkb"/>   

 </head>

 <body>

  <!--先编写好网页布局-->

  <h1>操作成功</h1>

<span id="second" >5</span>

  <span >秒后回到主页</span>

  <a href="javascript:history.back()">返回</a>

  

  

 

  <script type="text/javascript">  

    var num=document.getElementById("second").innerHTML;

   //获取显示秒数的元素,通过定时器来更改秒数。

  

    function count()

    {

        num--;

        document.getElementById("second").innerHTML=num;

        if(num==0)

        {

            location.assign("http://www.imooc.com");

        }

    }

    setInterval("count()",1000);

   //通过window的location和history对象来控制网页的跳转。

    function back()

    {

       window.history.go();

   }

   

 </script> 

</body>

</html>


写回答 关注

2回答

  • 风过怎无痕
    2016-12-12 16:46:22

    可以用

    <!DOCTYPE html>

    <html>

     <head>

      <title>浏览器对象</title>  

      <meta http-equiv="Content-Type" content="text/html; charset=gkb"/>   

     </head>

     <body>

      <p style="font-size:30px;">操作成功</p>

      <div>

           <span id="aa">5</span>秒后返回主页

          <a href="javascript:history.back()">返回</a>

      </div>

      

      <script type="text/javascript">  

     var num=5;

     function count(){

        document.getElementById("aa").innerHTML=num;

         num--;    

         if(num==-1) window.location.href="wwww.imooc.com";

         setTimeout("count()",1000);

         }

     count();  

     </script> 

    </body>

    </html>


  • 名字要很长才显得牛逼哄哄
    2016-12-08 17:46:55

    setTimeout()方法只执行一遍,不会循环使用里面的count方法,只会执行一遍

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题