多次点击start问题

来源:8-6 取消计时器clearTimeout()

老神棍

2015-03-21 17:32

感觉这段代码有问题,

如果多次点击start,那必须按相同次数的stop才能停止

写回答 关注

3回答

  • qq_HW_5
    2016-03-03 15:21:09

    <!DOCTYPE HTML>

    <html>

    <head>

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

    <title>计时器</title>

    </head>

    <script type="text/javascript">

      var num=0;

      var i;

      function startCount(){

        document.getElementById('count').value=num;

        num=num+1;

        i=setTimeout("startCount()",1000);

        document.getElementById("start").disabled="false";

        document.getElementById("stop").disabled="";

      }

      function stopCount(){

      clearTimeout(i);

      document.getElementById("start").disabled="";

      document.getElementById("stop").disabled="false";

      }

    </script>

    </head>

    <body>

      <form>

        <input type="text" id="count" />

        <input id="start" type="button"  value="Start"  onclick="startCount()"  />

        <input id="stop" type="button" value="Stop" onclick="stopCount()"  />

      </form>

    </body>

    </html>


  • 请不要回信
    2015-03-28 12:19:45

    多点几次start还会加速啊。。。怎么回事

    老神棍

    你点1次,是1秒钟加1,你点2次就是1秒钟加2,以此类推,当然会越来越快

    2015-03-28 15:40:19

    共 1 条回复 >

  • 慕虎1869743
    2015-03-26 15:40:35

    就是啊,我也发现了,关键它用的都是一个变量i控制停止的,为什么还能实现多次点击的开始和停止

JavaScript进阶篇

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

467393 学习 · 21877 问题

查看课程

相似问题