<script type="text/javascript"> var num=0; var i; function startCount(){ clearTimeout(i) document.getElementById('count').value=num; num=num+1; i=setTimeout("startCount()",1000) } </script>
主要问题是clearTimeout();这样的,如果像上面那样写,那么就正常了,无论我在外面多少次调用这个函数,他的运行都是正常的,不会叠加。但如果变成这样-----------
<script type="text/javascript">
var num=0;
function startCount(){
clearTimeout(i)
document.getElementById('count').value=num;
num=num+1;
var i=setTimeout("startCount()",1000)
}
</script>
就是i变成局部变量,就出现问题了,多次调用函数会叠加,这是怎么理解了?变成局部变量也应该不会影响clearTimeout()的工作吧??
会飞的四脚蛇
慕的地6079101
想成为攻城师的筱筱
相关分类