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

来源:8-17 编程练习

慕粉3274123

2016-07-14 10:41

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


写回答 关注

4回答

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

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

    qq_望风灬... 回复慕粉3274...

    Don’t care!Good luck to you.I would appreciate it if you are happy.

    2016-07-14 13:34:18

    共 2 条回复 >

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

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

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

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


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




    慕粉3274... 回复我是刘高兴

    后悔与不后悔都是一样的,我只是对未来的不安吧。

    2016-07-19 00:32:24

    共 13 条回复 >

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

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

    TCandi... 回复慕粉3274...

    这里限制了范围,所以不会崩溃

    2016-07-17 09:59:39

    共 2 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题