clearTimeout()停止不了是什么问题

<!DOCTYPE html >

<html>

 <head>

  <title> new document </title>

  <meta  charset="utf-8"/>

  

  <script type="text/javascript">

  var timer=0;

  function stime()

  {

      

      document.getElementById("txt").value=timer;

 timer=timer+1;

 var i=setTimeout(stime,1000)

  }

  

  function otime()

  {

     clearTimeout(i);

  }

  </script>

 </head>


 <body>

  <form>

  <input type="text" id="txt"   >

  <input type="button" value="开始计时" onclick="stime()">

  <input type="button" value="计时结束" onclick="otime()">

  </form>

 </body>

</html>


雪山丶孤狼
浏览 4846回答 2
2回答

李晓健

因为你的 i  是一个局部变量,只能在 stime里可以访问到,在otime里是访问不到的,把 i 定义到外面就好了<script type="text/javascript">     var timer=0;     var i = null;     function stime(){         document.getElementById("txt").value=timer;         timer=timer+1;         i=setTimeout(stime,1000)     }     function otime(){         clearTimeout(i);     } </script>

淡雅的默

把你结束里面调的参数改成“timer”
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript