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

要想实现重置后,再点start重新从0开始计数而不是按重置前的数接着计数,reCount函数怎么写?

要想实现重置后,再点start重新从0开始计数而不是按重置前的数接着计数,reCount函数怎么写?
<!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);//i为全局变量
  }
  function stopCount(){
    clearTimeout(i);
  }
  function reCount(){
    document.getElementById('count').value=0;
//这里应该怎么写???
  }
</script>
</head>
<body>
  <form>
    <input type="text" id="count" />
    <input type="button" value="Start" onclick="startCount()" />
    <input type="button" value="Stop" onclick="stopCount()"  />
    <input type="button" value="Reset" onclick="reCount()"  />
  </form>


提问者:七寒谷 2016-04-23 21:43

个回答

  • 七寒谷
    2016-04-24 21:00:47

     function reCount(){
    	  document.getElementById('count').value=0;
              num=0;
    	  stopCount();
      }
    我改成这样子就达到效果了,你们怎么觉得?

  • Uauslman
    2016-04-24 13:58:27

    就一个num=0;即可

  • akiaki
    2016-04-24 10:52:11

      function reCount(){

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

         num=0;

        startCount();

      }


  • weibo_陈_兆群_0
    2016-04-23 22:06:03

    reCount函数里面的那句话改成num=0;就行了。。。。。因为你那句赋值只是给文本框赋值,setTimeout函数还一直在运行着,num变量的值没有改变。