setTimeout
定义和用法:setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式。
语法:setTimeout(code,millisec)
参数:
code(必需):要调用的函数后要执行的JavaScript代码串。
millisec(必需):在执行代码前需等待的毫秒数。
提示: setTimeout()只执行 code 一次。如果要多次调用,请使用setInterval()或者让code自身再次调用setTimeout()。
两种调用函数的写法:
function page_list(){
alert("shihuan");
}
window.setTimeout(page_list,5000);
window.setTimeout("page_list()",3000);
带参数方法使用setTimeout要注意,setTimeout("函数名("+参数+")",毫秒数),这里的参数只能是字符串形式,而不能传递一个对象,网上很多朋友也在问此类问题,我在此说明下,以下我举几个简单的例子:网上查找下"带参数 setTimeout",很多朋友写了很多方法来实现使用setTimeout带对象的方法循环,例如
<script> var _sto =setTimeout; window.setTimeout = function(callback,timeout,param){ var args = Array.prototype.slice.call(arguments,2); var _cb = function(){ callback.apply(null,args); } _sto(_cb,timeout); } //测试代码 function zz(a){ alert(a); } function mumu(a,b,c){ alert(a+b+c); } var a = new Object(); window.setTimeout(zz,1000,a); window.setTimeout(mumu,2000,a,6,7); </script>
此例中,setTimeout用法,setTimeout(回调函数,时间,参数1,...,参数n)。
-------------------------------------------------------------------------------------------------------
setInterval定义和用法
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval()方法会不停的调用函数,知道clearInterval()被调用或者窗口被关闭,由setInterval()返回的ID值可用作clearInterval()方法的参数。
语法
setInterval(code,millisec,["lang"])
参数
code(必需)。要调用的函数或要执行的代码串。
millisec(必需)。周期性执行或调用code之间的时间间隔。以毫秒计。
返回值
一个可以传递给window.clearInterval()从而取消 code 的周期性执行的值。
例子:
<form> <input type="text" id="clock" size="35" /> <script> var int = self.setInterval("clock()",50); function clock(){ var t = new Date(); document.getElementById("clock").value = t; } </script> <button onclick="int=window.clearInterval(int)">stop interval</button> </form>
----------------------------------------------------------------------------------------------
clearTimeout() 和 clearInterval()
js里设定延迟时间
使用setInterval和设定延时函数setTimeout很类似。
setTimeout运用在延迟一段时间,再进行某项操作。
setTimeout("function",time)设置一个超时对象。
setInterval("function",time)设置一个超时对象。
setInterval为自动重复,setTimeout不会重复。
clearTimeout(对象)清除已设置的setTimeout对象
clearInterval(对象)清除已设置的setInterval对象
一、什么叫javascript的计时事件
使用javascript可以实现代码的延时执行,也就是说当一个函数被调用时不立即执行某些代码,这就叫做计时事件
二、javascript的计时事件的函数
setTimeout() //在指定时间后执行代码
clearTimeout() //取消 setTimeout()
注意:setTimeout() 和 clearTimeout() 都是html dom的window对象的函数
三、setTimeout详解
var t = setTimeout("javascript语句",时间参数)
示例:var t = setTimeout("document.getElementById("+menu_id+").style.display='none',3000");
四、clearTimeout 详解
语法:clearTimeout(setTimeout的变量名)
示例:clearTimeout(t) // t为前面设置的变量;
使用clearTimeout可以随时停止计时。
五、应用技巧
建议将setTimeout单独设置为一个函数如:
function delayRun(code,time){
var t = setTimeout(code,time);
}
这样,在需要让某段代码延时的时候,只需要在这段代码前加入这个函数就可以了如:
= delayRun("setTab(0,0)",500);
其中setTab是一个自定义的函数,如果以后不想让setTab延时执行,则去掉语句中的delayRun相关的代码即可,
= setTab(0,0) 就可以了
这种写法避免了每个需要延时的地方都写一段setTimeout的代码,只需要直接调用就可以了。