要使定时器循环工作你需要写一个函数实现循环调用。这里是
一个例子: var the_count = 0;
var the_timeout;
function doTimer()
{
window.document.timer_form.the_text.value = the_count;
the_count += 2;
the_timeout = setTimeout("doTimer();", 2000);
}
这里用到的定时器就是上一页所用的定时器。当用户点击按钮
时就调用该函数。该函数将the_count的当前值写到文字框中。
然后the_count增加2,则开始调用函数自身。文字框中的数值
也相应更新,the_count在增加2, 则再次调用函数自身。在等
待的这两秒期间浏览器则可以执行其他的同步工作。the_count
一增加2就执行另一次setTimeout()。你不用担心会造成内存
崩溃,因为在给定时间内只有一个setTimeout()在执行。而无限的"while" 循环则会锁定浏览器的工作,在执行该循环
的过程中浏览器不能同时执行别的任何指令。而setTimeout则
可以使循环的间隙中让浏览器执行别的工作。 如何取消setTimeout 现在你已经学习了如何设置一个无限循环。但是你必须懂得如
何终止循环。其指令就是clearTimeout。上例中定时器还有下
面这个表单元素: <input type="button" value="stop timer"
 onClick="clearTimeout(the_timeout);">点击这个按钮就可以终止定时器。指令是clearTimeout(),其
实很简单,如果你这样设置setTimeout,
the_timeout = setTimeout("some javascript",3000);你可以这样取消定时器:
clearTimeout(the_timeout);

解决方案 »

  1.   

    setTimeout(函数,时间);按你所设计的时间来执行函数,
    clearTimeout(变量);可以用来取消前面函数的执行var a=setTimeout("a1();",1)clearTimeout(a)
      

  2.   

    1  setTimeout(函数,时间);
    2  clearTimeout(变量);
    第一个方法的作用是在执行语句1开始计时,到达指定时间(时间参数,以毫秒为单位)后调用函数参数所指定的函数。它的返回值就是语句2里参数变量的类型一样,主要用作当语句一执行后(假如语句1的时间定为2000毫秒),在2秒内执行语句2就会停止调用函数。如:
    var a=setTimeout(function,time);
    clearTimeout(a);