為什么這樣定義就不能取消定時器
<script type="text/javascript">
?var num=0,i;
?function timedCount(){
? ? document.getElementById('txt').value=num;
? ? num=num+1;
? ? setTimeout(timedCount,1000);
? }
? ? i=setTimeout(timedCount,1000);
? function stopCount(){
? ? clearTimeout(i);
? }
</script>
2016-11-11
因為你clearTimeout(i),停止的是i定時器,而這里i定時器是外部只執行1次的定時器,外部的停不停都沒什么意義,而內部循環調用的定時器沒有賦給一個名字,因此將timedCount函數內部的定時器前面加上i=即可
2016-11-10
謝謝,但是還是有點不同,能具體講一下嗎?
2016-11-10
i=setTimeout(timedCount,1000);
這段寫在function timedCount(){}外面,就是無窮循環了。。。