有一个bug,请指教
当连续点击开始开始按钮2次以上。停止按钮就失去作用了
2016-06-14
因为你的mm()函数实际上是添加一个循环计时器,你运行第一次添加一个,运行第一次添加第二个,而clear清除只能清除一个,再此添加一个之后又可以清除一个了。
也就是代码刷新之前,clearInterval和clearTimeout只能用一次;而添加setInterval和setTimeout确可以无数次添加。
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
<script type="text/javascript">
var times=0;
function clock(){
// var time=new Date();
document.getElementById("clock").value = times;
times++;
}
var i = setInterval(clock,1000);
function stop(){
i = setInterval(clock,1000);
}
</script>
</head>
<body>
<form>
<input type="text" id="clock" size="50" />
<input type="button" value="Stop" onclick="clearInterval(i)" />
<input type="button" value="Start" onclick="stop()" />
</form>
</body>
</html>你试一下上面的代码,初始运行时每秒+1,点击Stop停止计数。
你再点击一下Start,运行为每秒+1;第二次点击变成每秒+1+1;第三次点击变成每秒+1+1+1。
最后点击Stop,变成每秒+1+1;第二次点击还是每秒+1+1。
举报