JS在頁(yè)面加載之后運(yùn)行
通用的頁(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í)不一定有效。要解決這個(gè)問題,可以使用Jquery中 load()方法在需要的文件加載完畢后對(duì)其進(jìn)行操作。
$(document).ready(function(){}); $().ready(function(){}) //簡(jiǎn)寫 當(dāng)$()不帶參數(shù)時(shí)默認(rèn)就是document $(function(){}); //簡(jiǎn)寫
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

浙公網(wǎng)安備 33010602011771號(hào)