<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
</head>
<script type="text/javascript">
var num = 0;
var i;
function startCount(){
i = setTimeout("startCount()",1000);
var input = document.getElementById('count');
document.getElementById('count').value =num;//这么写才能web里value里显示num,否则都不知道执行了没有的
input.value = num;//这里好好体会下这两句话排列的前后顺序对显示结果的影响,计时器是个好东西!
document.getElementById('tt').value = i
num = num+1;
}
//document.getElementById('tt').value = i;
function stopCount(){
clearTimeout(i);
}
</script>
</head>
<body>
<form>
<input type="text" id="count" />
<input type="text" id="tt" />
<input type="button" value="Start" onClick="startCount()" />
<input type="button" value="Stop" onClick="stopCount()" />
</form>
</body>
</html>别人的指教,参数i为技术器的运算次数,若i=setTimeout我放在函数startCount()一开头,i不是从0开始显示啊,而是直接跳到了2,那0和1跑那里去了呢?运行di12行函数的时候,遇到i=seyTimeout(),此时函数惠接着运行完这次的startCount(),还是说直接又重新调用StartCount()这个函数了呢?还有就是我在函数startCount()里,写一个document.write(i),按照我的理解是 。执行函数时候,页面上有个地方会进行i值的输出,但是现实是页面就输出一次i值,而且开始停止这些按钮都消失了,请问这是问什么?
1 回答
qq_无心_12
TA贡献4条经验 获得超0个赞
document.write()覆盖了原来的页面。
你把计时器1000(指毫秒数)设置为(5000),setTimeout是延时执行。
下面的两句是一样的,有一句就可以;
document.getElementById('count').value =num;
input.value = num;
添加回答
举报
0/150
提交
取消