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>
因为你先点继续就等于增加了一个setInterval,并将这个新加的赋值给了stop,那么你每次clearInterval就只能清除掉这个新加的,而清除不掉原来有的,因为没有变量指向老的setInterval了,所以最好在fun2的一开始把stop清除掉,然后再增加setInterval赋值给stop
在你的fun2里添加 clearInterval(stop);
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题
回答 2
回答 3
回答 1
回答 2
回答 2