最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js頁(yè)面加載后執(zhí)行的幾種方式小結(jié)

 更新時(shí)間:2020年01月30日 16:04:44   投稿:mdxy-dxy  
在實(shí)際應(yīng)用中往往需要在頁(yè)面加載完畢之后再去執(zhí)行相關(guān)的js代碼,之所以這么操作是有道理的,如果是操作dom元素,如果相關(guān)元素沒(méi)有加載完成,而去執(zhí)行js代碼,可能會(huì)導(dǎo)致錯(cuò)誤

在實(shí)際應(yīng)用中往往需要在頁(yè)面加載完畢之后再去執(zhí)行相關(guān)的js代碼,之所以這么操作是有道理的,如果是操作dom元素,如果相關(guān)元素沒(méi)有加載完成,而去執(zhí)行js代碼,可能會(huì)導(dǎo)致錯(cuò)誤,下面就介紹一下如何實(shí)現(xiàn)頁(yè)面加載完成再去執(zhí)行代碼,這是最為基礎(chǔ)的知識(shí)了,可能初學(xué)者還不太了解,寄希望能夠給需要的朋友帶來(lái)一定幫助。

一.window.onload事件:

代碼如下:

原生js

window.onload=function(){
 //code
}

jquery

$(window).load(function(){
//code
});

當(dāng)頁(yè)面完全加載完畢之后再去執(zhí)行code代碼。說(shuō)明頁(yè)面需要dom操作,必須到最后才可以執(zhí)行。

二.使用jQuery的ready事件:

$(document).ready(function() { 
 //code
});

一般

(function () {
//code
}
})();

當(dāng)穩(wěn)當(dāng)結(jié)構(gòu)加載完畢再去執(zhí)行code代碼。

通用的頁(yè)面加載后再運(yùn)行JS有兩種方式:1、在DOM加載完畢后,頁(yè)面全部?jī)?nèi)容(如圖片等)完全加載完畢前運(yùn)行JS。 2、在頁(yè)面全部?jī)?nèi)容加載完成(包括引用文件,圖片等)之后再加載JS

1、在DOM加載后,全部?jī)?nèi)容加載前運(yùn)行
這種方式在同一文件中可以運(yùn)行多個(gè)且不會(huì)覆蓋。

由于在$(document).ready()方法只要DOM就緒就會(huì)被執(zhí)行,因此可能此時(shí)元素的關(guān)聯(lián)文件未下載完。例如與圖片有關(guān)的HTML下載完畢,并且已經(jīng)解析為DOM樹(shù)了,但很有可能圖片還未加載完畢,所以例如圖片的高度和寬度這樣的屬性此時(shí)不一定有效。要解決這個(gè)問(wèn)題,可以使用Jquery中 load()方法在需要的文件加載完畢后對(duì)其進(jìn)行操作。

$(document).ready(function(){});
$().ready(function(){})  //簡(jiǎn)寫(xiě) 當(dāng)$()不帶參數(shù)時(shí)默認(rèn)就是document
$(function(){});       //簡(jiǎn)寫(xiě)

2、在全部?jī)?nèi)容加載后運(yùn)行
這種方式中只能執(zhí)行一個(gè) onload代碼,當(dāng)文件由多個(gè)onload或者load,只加載最后一個(gè),前面的將會(huì)被覆蓋且前面的onload里面的代碼不會(huì)執(zhí)行。

window.onload = function(){}; // —-js
$(window).load(function(){});   //---jquery

3、DOM文檔加載步驟

1.解析HTML結(jié)構(gòu)
2.加載外部的腳本和樣式文件
3.解析并執(zhí)行腳本代碼
4.執(zhí)行$(function(){})內(nèi)對(duì)應(yīng)代碼
5.加載圖片等二進(jìn)制資源
6.頁(yè)面加載完畢,執(zhí)行window.onload

補(bǔ)充:

1:$(function){};

2:$(document).ready(function(){});

3:$(window).load(function(){});

4:window.onload = function(){};

5:在標(biāo)簽上靜態(tài)綁定onload事件,<body onload="aaa()">等待body加載完成,就會(huì)執(zhí)行aaa()方法。

注:第1種是第2種的簡(jiǎn)寫(xiě)方式。兩個(gè)是document加載完成后就執(zhí)行方法。第3種和第4種都是等到整個(gè)window加載完成執(zhí)行方法體。兩者也沒(méi)有區(qū)別,只是一個(gè)使用dom對(duì)象,一個(gè)使用jQuery對(duì)象。

執(zhí)行順序:1和2無(wú)論放在哪里都是最先執(zhí)行,3和4在其之后執(zhí)行,5最后執(zhí)行

相關(guān)文章

  • JavaScript常見(jiàn)打開(kāi)鏈接的幾種方法小結(jié)

    JavaScript常見(jiàn)打開(kāi)鏈接的幾種方法小結(jié)

    在頁(yè)面中的鏈接除了常規(guī)的方式以外,如果使用javascript,還有很多種方式,下面這篇文章主要給大家介紹了關(guān)于JavaScript常見(jiàn)打開(kāi)鏈接的幾種方法,需要的朋友可以參考下
    2024-01-01
  • 簡(jiǎn)述JavaScript提交表單的方式 (Using JavaScript Submit Form)

    簡(jiǎn)述JavaScript提交表單的方式 (Using JavaScript Submit Form)

    這篇文章主要介紹了簡(jiǎn)述JavaScript提交表單的方式 (Using JavaScript Submit Form)的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • 詳解TypeScript中的類(lèi)型保護(hù)

    詳解TypeScript中的類(lèi)型保護(hù)

    這篇文章主要介紹了TypeScript中的類(lèi)型保護(hù),對(duì)類(lèi)型保護(hù)感興趣的同學(xué),可以參考下
    2021-04-04
  • 基于JavaScript實(shí)現(xiàn)頁(yè)面輪播圖漸變效果的示例代碼

    基于JavaScript實(shí)現(xiàn)頁(yè)面輪播圖漸變效果的示例代碼

    這篇文章主要給大家分享如何使用JavaScript實(shí)現(xiàn)一個(gè)頁(yè)面輪播圖漸變效果,輪播圖是網(wǎng)頁(yè)開(kāi)發(fā)中常見(jiàn)的功能之一,它能夠展示多個(gè)圖片或內(nèi)容,并以一定的時(shí)間間隔進(jìn)行自動(dòng)切換,而通過(guò)添加漸變效果,可以讓切換過(guò)程更加平滑流暢,感興趣的小伙伴可以自己動(dòng)手嘗試一下
    2023-10-10
  • 理解javascript正則表達(dá)式

    理解javascript正則表達(dá)式

    這篇文章主要為大家詳細(xì)介紹了javascript正則表達(dá)式,由淺入深的幫助大家學(xué)習(xí)正則表達(dá)式,感興趣的小伙伴們可以參考一下
    2016-03-03
  • JS+CSS實(shí)現(xiàn)TreeMenu二級(jí)樹(shù)形菜單完整實(shí)例

    JS+CSS實(shí)現(xiàn)TreeMenu二級(jí)樹(shù)形菜單完整實(shí)例

    這篇文章主要介紹了JS+CSS實(shí)現(xiàn)TreeMenu二級(jí)樹(shù)形菜單,以完整實(shí)例形式較為詳細(xì)的分析了JS二級(jí)樹(shù)形菜單的節(jié)點(diǎn)元素操作技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-09-09
  • 在JS中判斷兩個(gè)對(duì)象是否相等方法詳解

    在JS中判斷兩個(gè)對(duì)象是否相等方法詳解

    在JavaScript中,判斷兩個(gè)對(duì)象是否相等有多種方法,取決于你對(duì)相等的定義以及對(duì)象屬性的類(lèi)型,本文將介紹幾種常見(jiàn)的方法,感興趣的同學(xué)可以參考閱讀
    2023-05-05
  • JavaScript適配器模式詳解

    JavaScript適配器模式詳解

    這篇文章主要為大家詳細(xì)介紹了JavaScript適配器模式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • bootstrap3-dialog-master模態(tài)框使用詳解

    bootstrap3-dialog-master模態(tài)框使用詳解

    這篇文章主要為大家詳細(xì)介紹了bootstrap3-dialog-master模態(tài)框的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • JS前端分片上傳大文件步驟(支持1G以上的超大文件)

    JS前端分片上傳大文件步驟(支持1G以上的超大文件)

    當(dāng)前端在開(kāi)發(fā)過(guò)程中遇到上傳文件需求,如果是小文件之類(lèi)的可以正常按上傳流程處理,但是當(dāng)遇到上傳大文件需求時(shí)就需要分片上傳,這篇文章主要給大家介紹了關(guān)于JS前端分片上傳大文件(支持1G以上的超大文件)的相關(guān)資料,需要的朋友可以參考下
    2024-08-08

最新評(píng)論

息烽县| 清水河县| 娄底市| 和政县| 丰镇市| 资阳市| 凤翔县| 通辽市| 娱乐| 巢湖市| 昆山市| 得荣县| 荥阳市| 阿克苏市| 宿州市| 新郑市| 长兴县| 沧州市| 福鼎市| 宜宾县| 富顺县| 巫山县| 玉山县| 宝丰县| 中阳县| 桦甸市| 德安县| 克东县| 娱乐| 武陟县| 台安县| 双柏县| 买车| 平远县| 万年县| 边坝县| 西平县| SHOW| 黎城县| 神农架林区| 林州市|