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

.onclick=function(){}这种形式的问题

<!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;
  var start=document.getElementById('start');
  var stop=document.getElementById('stop')
 start.onclick=function(){
    document.getElementById('count').value=num;
    num=num+1;
    i=setTimeout("startCount()",1000);
  }
stop.onclick= function(){
  clearTimeout(i);
  }
</script>
</head>
<body>
  <form>
    <input type="text" id="count" />
    <input type="button" id="start" value="Start"  />
    <input type="button" id="stop" value="Stop"   />
  </form>
</body>
</html>
请问这样为什么不可以?


提问者:天晴云开 2015-08-12 10:58

个回答

  • 目睹了整个事件的徐先生
    2015-09-22 16:08:58

    i=setTimeout("startCount()",1000);     里面startCount()   几个意思?

  • 丶小八戒
    2015-08-12 15:34:20

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>计时器</title>
    </head>
    </head>
    <body>
      <form>
        <input type="text" id="count" />
        <input type="button" id="start" value="Start"/>
        <input type="button" id="stop" value="Stop"/>
      </form>
    </body>
    <script type="text/javascript">
      var num=0;
      var i;
      var start=document.getElementById('start');
      var stop=document.getElementById('stop');
      start.onclick=function(){
        document.getElementById('count').value=num;
        num=num+1;
        i=setTimeout("startCount()",1000);
      }
      stop.onclick= function(){
        clearTimeout(i);
      }
    </script>
    </html>

    把script部分放到下面来,你执行脚本的时候,html元素可能还没加载到。

  • 丶小八戒
    2015-08-12 11:09:23

     var stop=document.getElementById('stop')后面加个分号看下