为了账号安全,请及时绑定邮箱和手机立即绑定

按stop停不下来,而且时钟不是一秒跳1秒,而是一秒跳3秒甚至5秒的数,总之很怪异。

<!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);
  }
  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>

http://img1.sycdn.imooc.com//58003d660001e4ab06200396.jpg

正在回答

6 回答

 <input type="button" value="Start" onClick("startCount()") />
    <input type="button" value="Stop" onClick("stopCount()")  />
    <!--这里onclick后面不是用“=”吗?这括号目前我是没见过有用过-->


1 回复 有任何疑惑可以回复我~

每点一次start按钮,就会调用一次startCount()函数,所以计时速度就会加快。

如果想停止就,点相应次数的stop。

0 回复 有任何疑惑可以回复我~

function startCount(){
 clearTimeout(i);
 document.getElementById('count').value=num;
 num=num+1;
 i=setTimeout("startCount()",1000);
}

主要的原因是你在start里面没有清除原来的定时器, 如果点击多次之后, stop也需要点击多次才会停止所有已开启的定时器

3 回复 有任何疑惑可以回复我~

大概看了下,本身逻辑没有问题,把下面的点击事件后面改成"="试试

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

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


0 回复 有任何疑惑可以回复我~

<!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;

function startCount(){

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

num=num+1;

i=setTimeout(startCount,1000);

}

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>


0 回复 有任何疑惑可以回复我~

<script type="text/javascript">

  var num=0;

  var i;

  function startCount(){

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

   for(i=0;i<num.length;i++) {

   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>


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

按stop停不下来,而且时钟不是一秒跳1秒,而是一秒跳3秒甚至5秒的数,总之很怪异。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信