<!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 i = setInterval("clock()",1000);
var flag=0;
function changetime(){
flag++;
if(flag%2==1){
document.getElementById("button").value = "stop";//这里注意要有""号的,否则会报错。这种地方老是出错!!!~~~
clearInterval(i);
}
else{
document.getElementById("button").value = "start";
setInterval("clock()",100);
}
document.getElementById("flag").value=flag;
}
</script>
</head>
<body>
<form>
<input type="text" id="clock" size="50" />
<input type="button" value="变化值" id="button" onclick="changetime()" />
<li><input type="text" value="flag值" id="flag" /></li>
</form>
</body>
</html>按照用flag标志位进行判断条件的思路,我哪里有问题啊?我把每次的flag值都显示出来了,但是只有页面刷新以后的第一次stop、第一次start按钮才起作用,以后点击button的时候会进行stop、start切换显示,但是clearInterval(i);和setInterval("clock()",100);不起作用了,高人帮我分析下我哪里没考虑到啊,谢谢。我按照每次的flag值进行运算,没有发现哪里出问题啊?
2 回答
已采纳
Caballarii
TA贡献1123条经验 获得超629个赞
else里的setInterval("clock()",100);要写成i=setInterval("clock()",100);
要不然clearInterval没办法清楚i啊
ppo_YXWU
TA贡献9条经验 获得超1个赞
setInterval("clock()",100);
要换成i = setInterval("clock()",1000);
要不然clearInterval(i);只有第一次运行成功,后面i都没值的。
添加回答
举报
0/150
提交
取消