时间停止和继续问题,代码贴在下面,为何先点击继续时间按钮就不能停止了,停止按钮无效了,怎么回事?

来源:8-3 计时器setInterval()

liuzh_

2015-12-08 12:45

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>定时器</title>
<script type="text/javascript">
  var attime,stop;
  function clock(){
    var time=new Date();         
    attime=time.getHours()+":"
          +time.getMinutes()+":"
          +time.getSeconds();
    document.getElementById("clock").value = attime;
  }
  stop=setInterval(clock,100);
  function fun1(){
     clearInterval(stop);
     alert("时间停止!");
  }
   function fun2(){
     stop=setInterval(clock,100);
     alert("时间继续!");
  }
</script>
</head>
<body>
<form>
<input type="text" id="clock" size="50"  />
<input type="button" value="点击我停止时间" onclick="fun1()">
<input type="button" value="点击我继续时间" onclick="fun2()">
</form>
</body>
</html>

写回答 关注

2回答

  • Caballarii
    2015-12-08 12:57:03
    已采纳

    因为你先点继续就等于增加了一个setInterval,并将这个新加的赋值给了stop,那么你每次clearInterval就只能清除掉这个新加的,而清除不掉原来有的,因为没有变量指向老的setInterval了,所以最好在fun2的一开始把stop清除掉,然后再增加setInterval赋值给stop

    liuzh_

    非常感谢!

    2015-12-08 13:05:26

    共 1 条回复 >

  • 木子舟义
    2015-12-08 12:49:39

    在你的fun2里添加 clearInterval(stop);

    木子舟义 回复liuzh_

    那个不重要,你能理解就行。加油

    2015-12-08 13:06:52

    共 2 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

467393 学习 · 21877 问题

查看课程

相似问题