<script>
var s,tcount = 0; //全局变量
function CountTime(iSeconds)
{
s = iSeconds
tcount = 0
c()
}function c()
{
//iSeconds秒后运行MyFun()
tcount++;
timeLeft = s - tcount;
timer=window.setTimeout("c()",1000);
time.innerText=timeLeft
if(timeLeft<=0)
{
clearTimeout(timer);
MyFun();
}
}
function MyFun()
{
alert("ok");
}
</script>
<input type="button" onclick="CountTime(3)" value="3秒">
<input type="button" onclick="CountTime(5)" value="5秒"><div id="time"></div>
<body>
var s,tcount = 0; //全局变量
function CountTime(iSeconds)
{
s = iSeconds
tcount = 0
c()
}function c()
{
//iSeconds秒后运行MyFun()
tcount++;
timeLeft = s - tcount;
timer=window.setTimeout("c()",1000);
time.innerText=timeLeft
if(timeLeft<=0)
{
clearTimeout(timer);
MyFun();
}
}
function MyFun()
{
alert("ok");
}
</script>
<input type="button" onclick="CountTime(3)" value="3秒">
<input type="button" onclick="CountTime(5)" value="5秒"><div id="time"></div>
<body>
var tcount = 0; //全局变量
function CountTime(iSeconds)
{
tcount++;
timeLeft = iSeconds - tcount;
if(timeLeft<=0) MyFun();
else window.setTimeout("CountTime("+iSeconds+")",1000);
}
function MyFun()
{
alert("ok");
}
语句,即只有累加到tcount等于3.if条件才成立.否则每隔1秒执行一次函数.现在问题时
怎么保存住tcount++后的值,1秒后调用CountTime(iSeconds)函数,tcount的值又被设置为
0,则此函数将会形成死循环.而且不用clearTimeout怎么清除设置的setTimeout(),急,
请教
你可以试一下,点"3秒"完了后,然后再点"5秒".5秒响应只用了"2秒".
因为tcount是从3开始递增起的.