为什么点了 停止之后 点开始 再点停止 这个时间就是停不下来呢?

来源:8-4 取消计时器clearInterval()

qq_Mr_9

2015-11-06 16:03

<!DOCTYPE HTML>


<html>


<head>

<title>计时器</title>


<script type="text/javascript">


   function clock(){

      

   var time=new Date();                

      

   document.getElementById("clock").value = time;

   }

     

     

   var i=setInterval("clock()",100);


</script>


</head>


<body>


  <form>

    

    <input type="text" id="clock" size="50"  />


    <input type="button" value="Stop" onclick="clearInterval(i)"  />


    <input type="button" value="Start" onclick="setInterval('clock()',100)" />

  </form>


</body>


</html>


写回答 关注

2回答

  • 烽子
    2015-11-06 17:18:51

    <input type="button" value="Start" onclick="setInterval('clock()',100)" />  启动按钮改成   onclick="i = setInterval('clock()',100)"

    莫笑陌

    为什么这里要这样改呢onclick="i = setInterval('clock()',100)"?还有为什么不能用onclick="i"吗?能解答下吗,谢谢!

    2015-12-09 09:44:56

    共 2 条回复 >

  • 李晓健
    2015-11-06 16:10:58
    <!DOCTYPE HTML>
    
    <html>
    
    <head>
    <title>计时器</title>
    
    <script type="text/javascript">
    
       function clock(){
          
       var time=new Date();                
          
       document.getElementById("clock").value = time;
       }
         
         
       var i=setInterval("clock()",100);
       
       var timer = null;
       function start(){
           if(timer){
               clearInterval(timer);
               timer = null;
           }
           setInterval('clock()',100)
       }
        
        function stop(){
            if(timer){
               clearInterval(timer);
               timer = null;
           }
        }
    </script>
    
    </head>
    
    <body>
    
      <form>
        
        <input type="text" id="clock" size="50"  />
    
        <input type="button" value="Stop" onclick="start()"  />
    
        <input type="button" value="Start" onclick="stop()" />
      </form>
    
    </body>
    
    </html>

    因为你没有接收点按钮开启的定时的引用  那个i也不是,所以你就关不掉了

    钰与宸

    你这个写的好像不太对吧。运行之后也没有效果。 既然用了timer,为什么还要用i?而且timer你除了赋null的值,并没语句去改变它的值(比如用它来接收setInterval()的返回值)?

    2016-03-18 10:29:09

    共 3 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题