摘要:假如我們希望某個(gè)函數(shù)在網(wǎng)頁(yè)加載完畢之后就立即執(zhí)行。事件與對(duì)象相關(guān)聯(lián)。因?yàn)楹瘮?shù)將會(huì)取代函數(shù)。如果在這個(gè)處理函數(shù)上還沒(méi)有綁定任何函數(shù),就將該函數(shù)添加給它。如果在這個(gè)處理函數(shù)上已經(jīng)綁定了一些函數(shù),就把該函數(shù)追加到現(xiàn)有指定的末尾。
假如我們希望某個(gè)函數(shù)在網(wǎng)頁(yè)加載完畢之后就立即執(zhí)行。網(wǎng)頁(yè)加載完畢時(shí)會(huì)觸發(fā)一個(gè)onload事件,所以我們可以利用onload事件來(lái)加載這個(gè)函數(shù)。Onload事件與window對(duì)象相關(guān)聯(lián)。如:
把myfunction函數(shù)綁定到這個(gè)事件上:
window.onload = myfunction();
一個(gè)函數(shù)我們可以利用上面的解決,那兩個(gè)、三個(gè)甚至更多呢?怎么解決??
假如我們有firstFunction和secondFunction兩個(gè)函數(shù),是不是就是下面這樣寫呢:
window.onload = firstFunction; window.onload = secondFunction;
但是每個(gè)處理函數(shù)只能綁定一條指令。所以上面的不行。因?yàn)閟econdFunction函數(shù)將會(huì)取代firstFunction函數(shù)。
有一種辦法可以幫助我們解決上面問(wèn)題:即我們先創(chuàng)建一個(gè)匿名函數(shù)來(lái)容納這兩個(gè)函數(shù),然后把那個(gè)匿名函數(shù)綁定到onload事件上,如下:
[javascript] view plain copy
window.onload = function(){
firstFunction(); secondFunction();
}
這確實(shí)是一個(gè)好的、簡(jiǎn)答的方法。
但是其實(shí)還存在一個(gè)最佳的解決方案——不管你打算在頁(yè)面加載完畢后要執(zhí)行多少個(gè)函數(shù),利用該函數(shù)都可以輕松的實(shí)現(xiàn)。 該函數(shù)名為addLoadEvent。該函數(shù)僅一個(gè)參數(shù):該參數(shù)指定了你打算在頁(yè)面加載完畢后需要執(zhí)行的函數(shù)的函數(shù)名。 addLoadEvent()函數(shù)代碼如下:
function addLoadEvent(func){ var oldonLoad = window.onload; if(typeof window.onload!="function"){ window.onload = func; } else{ window.onload = function(){ oldonload(); func(); } } }
1、把現(xiàn)有的window.onload事件處理函數(shù)的值存入到oldonload中。
2、如果在這個(gè)處理函數(shù)上還沒(méi)有綁定任何函數(shù),就將該函數(shù)添加給它。 3、如果在這個(gè)處理函數(shù)上已經(jīng)綁定了一些函數(shù),就把該函數(shù)追加到現(xiàn)有指定的末尾。 通過(guò)addLoadEvent函數(shù),只需要調(diào)用該函數(shù)就可以進(jìn)行綁定了。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/84014.html
摘要:假如我們希望某個(gè)函數(shù)在網(wǎng)頁(yè)加載完畢之后就立即執(zhí)行。事件與對(duì)象相關(guān)聯(lián)。因?yàn)楹瘮?shù)將會(huì)取代函數(shù)。如果在這個(gè)處理函數(shù)上還沒(méi)有綁定任何函數(shù),就將該函數(shù)添加給它。如果在這個(gè)處理函數(shù)上已經(jīng)綁定了一些函數(shù),就把該函數(shù)追加到現(xiàn)有指定的末尾。 假如我們希望某個(gè)函數(shù)在網(wǎng)頁(yè)加載完畢之后就立即執(zhí)行。網(wǎng)頁(yè)加載完畢時(shí)會(huì)觸發(fā)一個(gè)onload事件,所以我們可以利用onload事件來(lái)加載這個(gè)函數(shù)。Onload事件與win...
摘要:部分這是一個(gè)表格月日北京路號(hào)人民廣場(chǎng)月日南京路號(hào)人民博物館月日上海路號(hào)人民藝術(shù)中心部分要美觀,還是稍微寫點(diǎn)樣式吧代碼部分思路就是獲取到所有的,然后遍歷,并對(duì)做樣式修改。 前言:接上篇,本篇有兩個(gè)內(nèi)容:一個(gè)是Demo:當(dāng)鼠標(biāo)hover到表格的一行上時(shí)這行表格字體加粗。。。好了,廢話少說(shuō),開(kāi)始?。?! ------------------嚴(yán)肅的分割線------------------ 1....
摘要:部分這是一個(gè)表格月日北京路號(hào)人民廣場(chǎng)月日南京路號(hào)人民博物館月日上海路號(hào)人民藝術(shù)中心部分要美觀,還是稍微寫點(diǎn)樣式吧代碼部分思路就是獲取到所有的,然后遍歷,并對(duì)做樣式修改。 前言:接上篇,本篇有兩個(gè)內(nèi)容:一個(gè)是Demo:當(dāng)鼠標(biāo)hover到表格的一行上時(shí)這行表格字體加粗。。。好了,廢話少說(shuō),開(kāi)始?。?! ------------------嚴(yán)肅的分割線------------------ 1....
摘要:進(jìn)行一些判斷,將目標(biāo)位置設(shè)置在在,不變,也就是將其向右水平移動(dòng)。另外,完整源代碼中沒(méi)用這個(gè)抽象函數(shù)。 前言:其實(shí)js動(dòng)畫跟CSS-DOM結(jié)合的挺緊密的,都是用js函數(shù)實(shí)現(xiàn)一段時(shí)間內(nèi)重復(fù)設(shè)置元素的樣式就形成了動(dòng)畫,其中涉及到大量的用DOM獲取元素樣式操作,所以可以先看一下CSS-DOM那篇文章,這次總結(jié)一下js中的動(dòng)畫,這一篇是基礎(chǔ)知識(shí)總結(jié),只用到了setTimeout函數(shù),還有兩個(gè)定時(shí)...
摘要:設(shè)定瀏覽器屬性的屬性的方法叫做駝峰式命名是函數(shù)名方法名和對(duì)象屬性名的命名首選格式。由瀏覽器預(yù)先定義的對(duì)象被稱為宿主對(duì)象。在給某個(gè)元素添加了事件處理函數(shù)后,一旦事件發(fā)生,相應(yīng)的代碼就會(huì)執(zhí)行。 1.JavaScript是一個(gè)使網(wǎng)頁(yè)具有交互能力的程序設(shè)計(jì)語(yǔ)言。 2.設(shè)定瀏覽器屬性的屬性的方法叫做BOM. 3.駝峰式命名(myMood)是函數(shù)名、方法名和對(duì)象屬性名的命名首選格式。 4.命名變量...
閱讀 2757·2021-10-26 09:50
閱讀 2402·2021-10-11 11:08
閱讀 2139·2019-08-30 15:53
閱讀 1915·2019-08-30 15:44
閱讀 2391·2019-08-28 18:12
閱讀 2532·2019-08-26 13:59
閱讀 2862·2019-08-26 12:19
閱讀 2762·2019-08-26 12:09