数字为0时,方法里的clearTimeout不能让计数器停下来,而用点击按钮调用clearTimeout就能停下来。

来源:8-17 编程练习

春天的雪

2018-05-22 23:07

<!DOCTYPE html>

<html>

 <head>

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

  <meta http-equiv="Content-Type" content="text/html; charset=gkb"/>   

 </head>

 <body>

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

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

  <span >秒后回到主页</span>

  <a href="javascript:history.back();">返回</a>

  <input type="button" value="停" onclick="stop()"/>

  <script type="text/javascript">  

   var i=5;

   var int;

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

   function count(){

     i--;

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

     if(i==0){

        clearTimeout(int);

        window.location.assign("http://www.imooc.com/");

     }

     int=setTimeout("count()",1000);

     

   }

   setTimeout("count()",1000);

   function stop(){

     clearTimeout(int);

   }

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

   

 </script> 

</body>

</html>


写回答 关注

2回答

  • 慕移动4708697
    2018-05-24 16:44:01
    已采纳
    if(i==0){
        clearTimeout(int);
        window.location.assign("http://www.imooc.com/");
    }else {
        int=setTimeout("count()",1000);
    }

    应该加个判断才行。

    春天的雪

    谢谢,忘加else了

    2018-05-25 23:25:03

    共 1 条回复 >

  • 一像素成就大气之美
    2018-05-23 16:02:01

    不是停住了么。

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题