JQuery
Timers
提供了三個函式
1. everyTime(時間間隔, [計時器名稱], 函式名稱, [次數限制], [等待函式程式完成])
2. oneTime(時間間隔, [計時器名稱], 呼叫的函式)
3. stopTime ([計時器名稱], [函式名稱])
例子:
<code>var times = chunks.length; $(document).everyTime(1000, function(i) { processChunk(i); }, times);</code>
/*************************************************************
* everyTime(時間間隔, [計時器名稱], 函式名稱, [次數限制], [等待函式程式完成])
*************************************************************/
//每1秒執行函式test()
function test(){
//do something...
}
$('body').everyTime('1s',test);
//每1秒執行
$('body').everyTime(10,function(){
});
//每1秒執行,并命名計時器名稱為A
$('body').everyTime(10,'A',function(){
//每20秒執行,最多5次,并命名計時器名稱為B
$('body').everyTime(200,'B',function(){
},5);
//每20秒執行,無限次,并命名計時器名稱為C
//若時間間隔抵到,但函式程式仍未完成則需等待執行函式完成後再繼續計時
$('body').everyTime(200,'C',function(){
//執行一個會超過20秒以上的程式
},0,true);
<code>$("#close-button").click(function() { $(this).oneTime(1000, function() { $(this).parent(".main-window").hide(); }); }); $("#cancel-button").click(function() { $("#close-button").stopTime(); });</code>
/***********************************************************
* oneTime(時間間隔, [計時器名稱], 呼叫的函式)
***********************************************************/
//倒數10秒後執行
$('body').oneTime(100,function(){
<code>$("#close-button").click(function() { $(this).oneTime(1000, "hide", function() { $(this).parent(".main-window").hide(); }); }); $("#cancel-button").click(function() { $("#close-button").stopTime("hide"); });</code>
<code>/************************************************************ * stopTime ([計時器名稱], [函式名稱]) ************************************************************/ //停止所有的在$('body')上計時器 $('body').stopTime (); //停止$('body')上名稱為A的計時器 $('body').stopTime ('A'); //停止$('body')上所有呼叫test()的計時器 $('body').stopTime (test); 本文轉自linzheng 51CTO部落格,原文連結:http://blog.51cto.com/linzheng/1080885</code>