问答详情
源自:8-6 取消计时器clearTimeout()

为什么连续点击start速度会变快,而且stop不下来

<!DOCTYPE HTML>

<html>

<head>

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

<title>计时器</title>


<script type="text/javascript">

  var num=0;

  var i;

  function startCount(){

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

    num=num+1;

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

  }

  function stopCount(){

   clearTimeout(i);

  }

</script>

</head>

<body>

  <form>

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

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

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

  </form>

</body>

</html>


提问者:上元琦梦 2018-12-16 16:16

个回答

  • oliviasun1129
    2019-08-15 17:36:33

    在startCount函数里第一行加 clearTimeout(i);可以解决这个问题

  • 无幻86
    2019-01-10 11:14:00

    同学代码里的第一个代码就解决这个问题

  • wingle
    2019-01-06 09:31:03

    很有趣的发现

  • PaulPierce
    2018-12-31 16:35:34

    可以停止, 你点了多少次start. 就点多少次 stop.

  • 阳火锅
    2018-12-17 09:44:08

    因为你不停的在打开定时器,你开了无数个。。所以导致程序乱了。。