为什么用setTimeout做的记时器有时停不下来?

nie 2000-08-31 05:06:00
代码如下:
function timer()
{
if (second!=0)
{
document.form1.sec.value=second
second=second-1
timer6ID=setTimeout("timer()",1000)
}
else
{
stop2()
}
}
stop2()
{
clearTimeout(timer6ID)
}
...全文
190 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
huntout 2000-09-01
  • 打赏
  • 举报
回复
<html>
<body onload='timer()'>
<form name=form1>
<input name=sec>
</form>
<script language=javascript>
var second = 10;
var timer6ID;
function timer()
{
if (second > 0) {
document.form1.sec.value = second;
second --;
timer6ID = setTimeout("timer()",1000)
} else {
stop2();
}
}

function stop2()
{
clearTimeout(timer6ID);
}
</script>
</body>
</html>
hhzh426 2000-09-01
  • 打赏
  • 举报
回复
<script language="JavaScript">
<!--
var i=100;//在函数之外定义变量并设置初值,该变量在所有的函数中都可以使用
function MM_findObj(n, d) { //v3.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function setText() { //v3.0
var obj = MM_findObj('mytext'); //mytext为form中的textfield
if(i!=0)
{
if (obj) obj.value = i;
i--;
setTimeout("setText()",100);
}
}
//-->
</script>
<body onclick="setText()">

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧