摘要:方法描述周期性地調(diào)用一個(gè)函數(shù)或者執(zhí)行一段代碼。方法可取消由方法設(shè)置的。語法詳解是該延時(shí)操作的數(shù)字此隨后可以用來作為方法的參數(shù)。需要注意的是,不支持第一種語法中向延遲函數(shù)傳遞額外參數(shù)的功能。該值標(biāo)識要取消的延遲執(zhí)行代碼塊。
方法 | 描述 |
---|---|
setInterval | 周期性地調(diào)用一個(gè)函數(shù)(function)或者執(zhí)行一段代碼。 |
clearInterval | 取消掉用setInterval設(shè)置的重復(fù)執(zhí)行動(dòng)作。 |
setTimeout | 在指定的延遲時(shí)間之后調(diào)用一個(gè)函數(shù)或者執(zhí)行一個(gè)代碼片段。 |
clearTimeout | 方法可取消由 setTimeout() 方法設(shè)置的 timeout。 |
window.setInterval()方法,周期性地調(diào)用一個(gè)函數(shù)(function)或者執(zhí)行一段代碼。
語法詳解var intervalID = window.setInterval(func, delay[, param1, param2, ...]);
var intervalID = window.setInterval(code, delay);
intervalID 是此重復(fù)操作的唯一辨識符,可以作為參數(shù)傳給clearInterval()。 func 是你想要重復(fù)調(diào)用的函數(shù)。 code 是另一種語法的應(yīng)用,是指你想要重復(fù)執(zhí)行的一段字符串構(gòu)成的代碼(使用該語法是不推薦的,不推薦的原因和eval()一樣)。 delay 是每次延遲的毫秒數(shù) (一秒等于1000毫秒),函數(shù)的每次調(diào)用會(huì)在該延遲之后發(fā)生。和setTimeout一樣,實(shí)際的延遲時(shí)間可能會(huì)稍長一點(diǎn)。
需要注意的是,IE不支持第一種語法中向延遲函數(shù)傳遞額外參數(shù)的功能.如果你想要在IE中達(dá)到同樣的功能,你必須使用一種兼容代碼 (查看callback arguments 一段)。
例子jssetInterval(function(){
console.log("log")
},1000)
clearInterval()
window.clearInterval() 取消掉用setInterval設(shè)置的重復(fù)執(zhí)行動(dòng)作.
語法詳解window.clearInterval(intervalID)
在指定的延遲時(shí)間之后調(diào)用一個(gè)函數(shù)或者執(zhí)行一個(gè)代碼片段。 intervalID是你想要取消的重復(fù)動(dòng)作的ID,這個(gè)ID是個(gè)整數(shù),是由setInterval()返回的。例子
jsvar pageTimer = {} ; //定義計(jì)算器全局變量
//賦值模擬
pageTimer["timer1"] = setInterval(function(){},2000);
pageTimer["timer2"] = setInterval(function(){},2000);
//全部清除方法
for(var each in pageTimer){
clearInterval(pageTimer[each]);
}
js// 暴力清除
for(var i = 1; i < 1000; i++) {
clearInterval(i);
}
分析:實(shí)際上暴力清除的方式是不可取的,在不得已情況下才使用,在IE下,定時(shí)器返回值在IE下面是8位數(shù)字如:248147094,并且起始值不能確定,而Chrome和firefox下是從1開始的個(gè)位數(shù)字,一般項(xiàng)目還是建議第一種,并且第一種的擴(kuò)展性也好,比如可以做個(gè)方法,清除除了指定定時(shí)器之外的所有定時(shí)器。
setTimeout()在指定的延遲時(shí)間之后調(diào)用一個(gè)函數(shù)或者執(zhí)行一個(gè)代碼片段。
window.setTimeout()
詳解var timeoutID = window.setTimeout(func, delay, [param1, param2, ...]);
var timeoutID = window.setTimeout(code, delay);
* timeoutID 是該延時(shí)操作的數(shù)字ID, 此ID隨后可以用來作為window.clearTimeout方法的參數(shù)。 * func 是你想要在delay毫秒之后執(zhí)行的函數(shù)。 * code 在第二種語法,是指你想要在delay毫秒之后執(zhí)行的代碼 (使用該語法是不推薦的, 不推薦的原因和eval()一樣)。 * delay 是延遲的毫秒數(shù) (一秒等于1000毫秒),函數(shù)的調(diào)用會(huì)在該延遲之后發(fā)生.但是實(shí)際的延遲時(shí)間可能會(huì)稍長一點(diǎn),查看下面的備注。
需要注意的是,IE不支持第一種語法中向延遲函數(shù)傳遞額外參數(shù)的功能。如果你想要在IE中達(dá)到同樣的功能,你必須使用一種兼容代碼 (查看callback arguments 一段)。
備注你可以使用 window.clearTimeout()來取消延遲操作。
如果你希望你的代碼被重復(fù)的調(diào)用 (比如每 N 毫秒一次),考慮使用window.setInterval()。
js// 推薦
window.setTimeout(function() {
alert("Hello World!");
}, 500);
// 不推薦
window.setTimeout("alert("Hello World!");", 500);
clearTimeout()
window.clearTimeout() 方法可取消由 setTimeout() 方法設(shè)置的 timeout。
語法詳解clearTimeout(id_of_settimeout)
參數(shù) | 描述 |
---|---|
id_of_settimeout | 由 setTimeout() 返回的 ID 值。該值標(biāo)識要取消的延遲執(zhí)行代碼塊。 |
jsvar c=0
var t
function timedCount(){
document.getElementById("txt").value=c
c=c+1
t=setTimeout("timedCount()",1000)
}
function stopCount(){
clearTimeout(t)
}
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/85484.html
摘要:本文是學(xué)習(xí)定時(shí)器單線程同步異步任務(wù)的筆記,只適合初學(xué)者。第一個(gè)參數(shù)是函數(shù)名或者語句,第二個(gè)參數(shù)延遲的時(shí)間參數(shù),單位為它返回定時(shí)器的編號,以后可以用來取消這個(gè)定時(shí)器。將該整數(shù)傳入和函數(shù),就可以取消對應(yīng)的定時(shí)器。 本文是學(xué)習(xí)js定時(shí)器、單線程、同步異步任務(wù)的筆記,只適合初學(xué)者。 一、定時(shí)器(timer) JavaScript提供定時(shí)執(zhí)行代碼的功能,該功能主要由setTimeout()和se...
摘要:說明這次實(shí)現(xiàn)的雪花飄落的效果很簡單,主要是為了練習(xí)練習(xí)中的定時(shí)器,和。簡單說,意思就是用了這個(gè)定時(shí)器,能把兩次修改樣式的代碼分開執(zhí)行,可以先把第一次修改的樣式渲染后,在進(jìn)行第二次的修改,雪花就會(huì)動(dòng)了。 說明 這次實(shí)現(xiàn)的雪花飄落的效果很簡單,主要是為了練習(xí)練習(xí)JavaScript中的定時(shí)器,setTimeout 和 setInterval。 效果圖 showImg(https://seg...
摘要:說明這次實(shí)現(xiàn)的雪花飄落的效果很簡單,主要是為了練習(xí)練習(xí)中的定時(shí)器,和。簡單說,意思就是用了這個(gè)定時(shí)器,能把兩次修改樣式的代碼分開執(zhí)行,可以先把第一次修改的樣式渲染后,在進(jìn)行第二次的修改,雪花就會(huì)動(dòng)了。 說明 這次實(shí)現(xiàn)的雪花飄落的效果很簡單,主要是為了練習(xí)練習(xí)JavaScript中的定時(shí)器,setTimeout 和 setInterval。 效果圖 showImg(https://seg...
摘要:案例每隔毫秒調(diào)用函數(shù)并顯示時(shí)間。當(dāng)點(diǎn)擊按鈕時(shí),停止時(shí)間代碼如下計(jì)時(shí)器每隔毫秒調(diào)用函數(shù),并將返回值賦值給計(jì)時(shí)器計(jì)時(shí)器,在載入后延遲指定時(shí)間后去執(zhí)行一次表達(dá)式僅執(zhí)行一次。該值標(biāo)識要取消的延遲執(zhí)行代碼塊。 簡述 本系列將持續(xù)更新Javascript基礎(chǔ)部分的知識,誰都想掌握高端大氣的技術(shù),但是我覺得沒有一個(gè)扎實(shí)的基礎(chǔ),我認(rèn)為一切高階技術(shù)對我來講都是過眼云煙,要成為一名及格的前端工程師,必須把...
摘要:提供定時(shí)執(zhí)行代碼的功能,叫做定時(shí)器,主要由和這兩個(gè)函數(shù)來完成。它返回一個(gè)整數(shù),表示定時(shí)器的編號,以后可以用來取消這個(gè)定時(shí)器。上面代碼中,回調(diào)函數(shù)不會(huì)再執(zhí)行了,因?yàn)閮蓚€(gè)定時(shí)器都被取消了。 JavaScript 提供定時(shí)執(zhí)行代碼的功能,叫做定時(shí)器(timer),主要由setTimeout()和setInterval()這兩個(gè)函數(shù)來完成。它們向任務(wù)隊(duì)列添加定時(shí)任務(wù)。 setTimeout()...
閱讀 2356·2021-09-30 09:48
閱讀 3717·2021-09-24 10:27
閱讀 1985·2021-09-22 15:32
閱讀 2136·2021-08-09 13:44
閱讀 3681·2019-08-30 15:55
閱讀 1130·2019-08-29 17:12
閱讀 2168·2019-08-29 17:05
閱讀 3005·2019-08-29 13:43