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的代码,只需要直接调用就可以了。