參數(shù)setInterval ( code, milliseconds[, args...] )
window.setInterval(function() { foo (id); }, 1000);
function foo(id) { alert(id); } function _foo(id) { return function() { foo(id); } } window.setInterval(_foo(id),1000);
function foo(id) { alert(id); } var _sto = setInterval; window.setInterval = function(callback,timeout,param) { var args = Array.prototype.slice.call(arguments,2); var _cb = function() { callback.apply(null,args); } _sto(_cb,timeout); } window.setInterval(hello,3000,userName);
定義和用法:
setInterval() 方法可按照指定的周期(以毫秒計(jì))來調(diào)用函數(shù)或計(jì)算表達(dá)式。
setInterval() 方法會不停地調(diào)用函數(shù),直到 clearInterval() 被調(diào)用或窗口被關(guān)閉。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的參數(shù)。
var time=0;
用法1:
function jump(){ ………… //函數(shù)內(nèi)容 } time = setInterval("jump",5000); //每個(gè)五秒調(diào)用一次函數(shù)
當(dāng)需要暫停的時(shí)候
$("").hover(function(){ clearInterval(time),function(){ time = setInterval("jump",5000); } })
用法2:
function autoPlay(){ time = setInterval(function(){ ………… //函數(shù)內(nèi)容 },5000); } autoPlay(); //調(diào)用函數(shù)
當(dāng)需要暫停時(shí)
$("").hover(function(){ clearInterval(time),function(){ autoPlay(); } })
總結(jié):
第一種用法思路比較清晰,先設(shè)置一個(gè)函數(shù),在通過setInterval來自行調(diào)用,但是將其在別處調(diào)用比較困難;
第二種方法看起來比較亂,在setInterval內(nèi)部寫下自行調(diào)用的函數(shù),然后在給他套上一個(gè)有名函數(shù),然后通過調(diào)用有名函數(shù)來實(shí)行自動,在別處調(diào)用比較方便。
以上純屬個(gè)人看法,希望大神們多多指點(diǎn)。
如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答!! 點(diǎn)擊進(jìn)入論壇