求解,为何到5就不动了

来源:8-17 编程练习

慕斯4798813

2017-04-18 17:23

<!DOCTYPE html>
<html>
 <head>
  <title>浏览器对象</title>  
  <meta http-equiv="Content-Type" content="text/html; charset=gkb"/>   
 </head>
 <body>
  <!--先编写好网页布局-->
  <h1>操作成功</h1>
  <p ><span id="a"></span>秒后返回主页</p> <a href="javascript:d();">返回</a>
 
  <script type="text/javascript">  
 
   //获取显示秒数的元素,通过定时器来更改秒数。
    var num=5;
   //通过window的location和history对象来控制网页的跳转。
   function e(){
    
    document.getElementById("a").innerHTML=num;
    if(num==0)
    {
       location.href='http://www.baidu.com';
    }
    num--;
   }
   setTimeout("e()",1000);
   function d(){
    window.history.back();
   }
  </script> 
</body>
</html>


写回答 关注

3回答

  • _蜡笔小新_
    2017-04-19 18:56:45
    已采纳

    路上虽然那么废话的把代码都复制过来,但最后还是说的挺对的。

    你要么把代码里的setTimeout改成setInterval,

    要是想用setTimeout的话还是要在函数再循环用(就是在函数里加写setTimeout("e()",1000);)

  • 刘海宾
    2017-04-19 09:46:55

    <h1>操作成功</h1>

      <p ><span id="a"></span>秒后返回主页</p> <a href="javascript:d();">返回</a>

      

      <script type="text/javascript">  

      

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

        var num=5;

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

       function e(){  

        if(num==0)  {

           location.href='http://www.baidu.com';

        }

        document.getElementById("a").innerHTML=num--;

          setTimeout("e()",1000);

       }

    e();

       

       function d(){

        window.history.back();

       }

      </script> 


    刘海宾

    你没有调用e()函数所以到5就不动了 setTimeout要写在函数里不然只会运行一次 到4就不动了

    2017-04-19 09:49:31

    共 1 条回复 >

  • one_meter_sunshine
    2017-04-18 19:42:34

    这是浏览器兼容问题吧?你的代码我这里运行起来就没问题

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题