这两天一直在ajax的东西,昨天做一个小例子的时候发现了setTimeout这个函数,以前只知道setTimeinterval,发现这两个函数是有一些差别的。在网上搜了一下,作为备忘就转贴一下了。


   window对象有两个主要的定时方法,分别是setTimeout 和 setInteval  他们的语法基本上相同,但是完成的功能取有区别。

  setTimeout方法是定时程序,也就是在什么时间以后干什么。干完了就拉倒。

  setInterval方法则是表示间隔一定时间反复执行某操作。

  如果用setTimeout实现setInerval的功能,就需要在执行的程序中再定时调用自己才行。如果要清除计数器需要 根据使用的方法不同,调用不同的清除方法:

例如:tttt=setTimeout('northsnow()',1000);

     clearTimeout(tttt);

或者:

     tttt=setInterval('northsnow()',1000);

     clearInteval_r(tttt);

举一个例子:

<div id="liujincai"></div>
<input type="button" name="start" value="start"  type="button" name="stop" value="stop"  language="javascript">
   var intvalue=1;
   var timer2=null;
   function startShow()
   {
      liujincai.innerHTML=liujincai.innerHTML + "&nbsp;" +
               (intvalue ++).toString();
      timer2=window.setTimeout("startShow()",2000);
   }
   function stop()
   {
      window.clearTimeout(timer2);
   }
</script>




或者:



<div id="liujincai"></div>
<input type="button" name="start" value="start" onclick='timer2=window.setInterval("startShow()",2000);//startShow();'>
<input type="button" name="stop" value="stop"  language="javascript">
   var intvalue=1;
   var timer2=null;
   function startShow()
   {
      liujincai.innerHTML=liujincai.innerHTML + "&nbsp;" +
            (intvalue ++).toString();
   }
   function stop()
   {
      window.clearInterval(timer2);
   }
</script>