JS && JQ 頁面加載順序&方法的區別


document.ready和onload的區別——JavaScript文檔加載完成事件
頁面加載完成有兩種事件
一是ready,表示文檔結構已經加載完成(不包含圖片等非文字媒體文件)
二是onload,指示頁面包含圖片等文件在內的所有元素都加載完成。

用jQ的人很多人都是這么開始寫腳本的:
$(function(){
// do something
});
其實這個就是jq ready()的簡寫,他等價於:

$(document).ready(function(){
//do something
})
//或者下面這個方法,jQuer的默認參數是:“document”;

$().ready(function(){
//do something
})
這個就是jq ready()的方法就是Dom Ready,他的作用或者意義就是:在DOM加載完成后就可以可以對DOM進行操作。
一般情況先一個頁面響應加載的順序是:域名解析-加載html-加載js和css-加載圖片等其他信息。
那么Dom Ready應該在“加載js和css”和“加載圖片等其他信息”之間,就可以操作Dom了。


1.window.onload方法

⑴執行時機:
在網頁中所有元素(包括元素的所有關聯文件)完全加載到瀏覽器后才執行,即JavaScript 此時可以訪問網頁中的所有元素。
window.onload=function(){ $(window).load(function(){
//編寫代碼 等價於 //編寫代碼
} });

⑵多次使用:
JavaScript的onload事件一次只能保存對一個函數的引用,他會自動用最后面的函數覆蓋前面的函數。
function one(){

alert("one");

}

function two(){

alert("two");

}

window.onload=one;

window.onload=two;

//運行代碼后只有 two

2.$(document).ready()方法

⑴執行時機:在DOM完全就緒時就可以被調用。(這並不意味着這些元素關聯的文件都已經下載完畢)
舉個例子:$(document).ready()方法明知要DOM就緒就可以操作了,不需要等待所有圖片下載完畢。

⑵多次使用:
function one(){

alert("one");

}

function two(){

alert("two");

}

$(document).ready(function(){

one();

});

$(document).ready(function(){

two();

});

//運行代碼后

//先是:one

//先是:two


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM