问答详情
源自:8-17 编程练习

为什么秒数不会变化,也不会跳转?求解啊。。

<!DOCTYPE html>
<html>
 <head>
  <title>浏览器对象</title>  
  <meta http-equiv="Content-Type" content="text/html; charset=gkb"/>
  <style>
      a {
         text-decoration:none;
          }
  </style>
 </head>
 <body>
  <!--先编写好网页布局-->
  <h1>操作成功</h1>
  <p id="black">
  <b id="time_num"></b>秒后回到主页<a href="javascript:GOBack()">返回</a>
  </p>
  <!--<button type="button" onclick="GO()">click</button>-->
 
  <script type="text/javascript">  
 
   //获取显示秒数的元素,通过定时器来更改秒数。

   //通过window的location和history对象来控制网页的跳转。
   function GO(){
    var number=5;
       if (number==0){
           window.location.assign("http://www.w3school.com.cn");
       }
       document.getElementById("time_num").innerHTML = number;
       number=number - 1;
       setTimeout("GO()",1000);
   }
 setTimeout("GO()",1000)
    function GoBack(){
        window.history.back();
        
    }
 </script> 
</body>
</html>


提问者:慕粉3274123 2016-07-14 10:41

个回答

  • qq_望风灬莫回眸_03605772
    2016-07-14 13:18:37
    已采纳

     在窗口中运行该程序时,该窗口一定要有历史浏览记录,否则"返回"无效果。还有就是你的27行到29行要放到31行后,要先获取 time_num这个对象,先执行num--操作,再判断num==0时候的情况。

  • 慕粉3274123
    2016-07-17 13:37:23

    哦哦,这样是直接读取元标签内的内容,这么写,就不用写到外面吗?

  • 我是刘高兴
    2016-07-16 22:51:14

    除了已经采纳的那个回答,你的'var number = 5;'放在函数里边能运行出来?我没试,不过最好还是放在外边吧,要不然每次执行函数都会重新给number赋值5


    //刚试了一下,var number= 5放在函数里边是运行不出来结果的吧




  • 弧度里的微笑之梦留无痕
    2016-07-14 13:23:15

    把var number=5放到go函数前面就好了,这种写法太复杂了,建议你不要用setTimeout,用setInterval更加简洁