想实现按钮点一下计时停止,再次点击又开始,再点停止,以此类推,可为什么我的代码不能实现呢?有什么问题吗?
代码里面都有注释了,谁帮我看看有设么问题吗?实现不了
2015-11-29
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
<script type="text/javascript">
var i;
function clock() { //显示时间
var time = new Date();
document.getElementById("clock").value = time;
}
i = setInterval("clock()", 1000); //(1)
/*写在这里的目的在于一开始就能在浏览器中显示出时间,而不用人为地一开始就要点击“s tart”按钮*/
function runOrStop() {
if(i){
clearInterval(i);
i=null;
}else{
i = setInterval("clock()", 1000);
}
}
</script>
</head>
<body>
<form>
<input type="text" id="clock" size="50"/>
<input type="button" id="change" value="Stop" onclick="runOrStop()"/>
</form>
</body>
</html>没有你想的那么复杂,你只需要判断是不是有定时器在执行就行了,有就停掉它,没有就开启一次。有一个注意点是最好不要用change做方法名,因为他是一个关键字,否则有时你会发现这个方法无效。
举报