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

我设置了开始按钮,两次点击开始按钮后没办法停止了,什么原因?

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
<script type="text/javascript">
   function clock(){
      var time=new Date();                     
      document.getElementById("clock").value = time;
   }
    var int= setInterval(clock,1000);
    
      function state(){int=setInterval(clock,1000);}
       
       
     
</script>
</head>
<body>
  <form>
    <input type="text" id="clock" size="50"  />
    <input type="button" value="Stop" onclick="clearInterval(int)" />
    <input type="button" value="state" onclick="state()" />
  </form>
</body>
</html>

正在回答

2 回答

对不起· 我修正一下我的回复~   还有就是  并不是因为你多设置了一个setInterval  而是因为你连续点击两次就产生了两个。clearInterval一次只能清除一个

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

maiziOO

我也是这种情况,只能有一次效果,也就是暂定——开始,然而并不能再次暂停了。
2016-03-11 回复 有任何疑惑可以回复我~
#2

阿飘u 回复 maiziOO

http://www.w3cfuns.com/notes/20683/0092dc6066b369fd962ef4aee66d1236.html 可以看看我写的这篇文。
2016-03-12 回复 有任何疑惑可以回复我~

state()中有闭包,里面的int不会被gc回收掉,所以会一直计数,不会停止、而且点击state按钮速度慢一点,能比较明显得感觉到有停滞,说明只clear了其中一个int。也就是前面的var int= setInterval(clock,1000);你也可以在function state(){int=setInterval(clock,1000); console.log(int);}  并且在chrome中进行测试,在控制台进行观察。

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

举报

0/150
提交
取消

我设置了开始按钮,两次点击开始按钮后没办法停止了,什么原因?

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