为什么秒数不会变动,直接从5就蹦到0了?不显示4、3、2、1?

来源:8-17 编程练习

想去非洲耍___

2016-02-23 21:17

大神帮帮忙~谢谢~

写回答 关注

4回答

  • 湖工咖啡
    2016-02-23 22:52:37
    已采纳

    问题1:

    for(var i=5;i>=0;i--){

        document.getElementById("sec").innerHTML=i;

            if(i==0){window.location.assign("http://www.imooc.com/");}

            }

    这个循环体并不是每个1s执行一次的,而是不受时间控制的连续执行

    问题2:

    var int=setInterval(clock,5000);

    5000是不是应该改成1000呢?

    想去非洲耍_...

    也就是说for循环是先完成循环,再被计时器调用,所以计时器对for循环没有起作用。是吗? 那个5000是我估计设置的啦,让时间慢一点好让我看清楚变化过程~ 谢谢你啊~

    2016-02-23 23:35:49

    共 1 条回复 >

  • ConradW
    2016-02-23 23:24:12
    <script type="text/javascript">
        var int=setInterval("clock()",1000);
        var i=5;
        function clock(){
            i--;
            document.getElementById("sec").innerHTML=i;
            if(i==0){window.location.assign("http://www.imooc.com/");}
        }
    
        function backweb(){window.history.back();}
        
    </script>


  • lanhao
    2016-02-23 22:56:51
    <!DOCTYPE html>
    <html>
     <head>
      <title>浏览器对象</title>  
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>   
     </head>
     <body>
      <!--先编写好网页布局可以用span-->
       <h2>操作成功</h2>
       <p><span id="sec">5</span>秒后返回主页<a href=""  target="_blank" onclick="backweb()">返回</a></p>
      
     
      <script type="text/javascript">  
         var int=setInterval(clock,1000);
    	 var i=5;
         function clock(){
    		document.getElementById("sec").innerHTML=i;
    		i--;
            if(i==0){window.location.assign("http://www.imooc.com/");}
        }
         
         
         function backweb(){window.history.back();}
     
     
     
       //获取显示秒数的元素,通过定时器来更改秒数。写在js
    
       //通过window的location和history对象来控制网页的跳转。
       
     </script> 
    </body>
    </html>
    </html>


  • 湖工咖啡
    2016-02-23 22:53:57

    <!--这是我的代码仅供参考-->

    <!DOCTYPE html>

    <html>

    <head>

        <meta charset="UTF-8">

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

    </head>

     <body>

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

      <h4>

          操作成功

      </h4>

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

      秒后回到主页

      <a href="javascript:banklast()">返回</a>

      <script type="text/javascript">   

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

         var mytime = 5;

    var i ,j;

        function changetime()

        {

    document.getElementById("newtime").innerHTML = mytime;

            mytime --;

    if(mytime == 0)

    {

    clearInterval(i);

    location.href="http://www.imooc.com/";

    }

        }

        i = setInterval("changetime()",1000);

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

       function banklast()

       {

    history.back();

    alert("1123");

       }

     </script> 

    </body>

    </html>



JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题