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

调用函数后屏幕上只剩下一个数字4了,是什么问题?

<body onlaod="ch_n()">

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

  <h1>操作成功</h1>

  <strong id="num">5</strong>秒后回到主页

  <a href="#" onclick="history.go(-1)">返回</a>

 

 <script type="text/javascript">  

 var n=parseInt(document.getElementById("num").innerHTML);

 function ch_n(){

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

    n--;

    setTimeout("ch_n()",1000);

 }

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

 if(n==0){

     history.go(-1);

 }

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

 </script> 

</body>


提问者:慕粉188111111 2017-02-09 12:07

个回答

  • 奥义_千年杀4311591
    2017-02-09 13:07:01
    已采纳

    setTimeout 这个是获取时间,并不是改变时间,应该是setInterval("ch_n()",1000);你这个是把n减1之后直接到新网页输出了~~~你这个问题不止这一个

  • 慕粉188111111
    2017-02-09 20:33:05

    <body>

      <h1>操作成功</h1>

      <strong id="num">5</strong>秒后回到主页

      <a href="#" onclick="go_b()">返回</a>

     

    <script type="text/javascript">  

    var n=parseInt(document.getElementById("num").innerHTML);

    function ch_n(){

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

        n-=1;

        if(n==0){

            clearInterval(i);

            history.go(-1);

        }

    }

    var i=setInterval(ch_n,1000);

    function go_b(){

        history.go(-1); 

    }

     </script> 

    </body>