setTimeout 和 setInterval 的区别
setTimeout (表达式,延时时间) setInterval(表达式,交互时间) 延时时间/交互时间是以豪秒为单位的(1000ms=1s) setTimeout 在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次 setInterval 在执行时,它从载入后,每隔指定的时间就执行一次表达式 set Timeout 也可以实现象setInterval一样的功能 set Timeout: <script language="javascript"> var i; i=0; function reloop() { i=i+1; alert(String(i)); setTimeout("reloop()",1000); } reloop(); </script> setInterval: <script language="javascript"> var i; i=0; function reloop() { i=i+1; alert(String(i)); } setInterval("reloop()",1000); </script> window对象有两个主要的定时方法,分别是setTimeout 和 setInteval 他们的语法基本上相同,但是完成的功能取有区别。 setTimeout方法是定时程序,也就是在什么时间以后干什么。干完了就拉倒。 setInterval方法则是表示间隔一定时间反复执行某操作。 如果用setTimeout实现setInerval的功能,就需要在执行的程序中再定时调用自己才行。如果要清除计数器需要 根据使用的方法不同,调用不同的清除方法: 例如:tttt=setTimeout(@#northsnow()@#,1000); clearTimeout(tttt); 或者: tttt=setInterval(@#northsnow()@#,1000); clearInteval(tttt); 举一个例子: <div id="liujincai"></div> <input type="button" name="start" value="start" onclick=@#startShow();@#> <input type="button" name="stop" value="stop" onclick="stop();"> <script language="javascript"> var intvalue=1; var timer2=null; function startShow() { liujincai.innerHTML=liujincai.innerHTML + " " + (intvalue ++).toString(); timer2=window.setTimeout("startShow()",2000); } function stop() { window.clearTimeout(timer2); } </script>