兩種方法實(shí)現(xiàn)在HTML頁(yè)面加載完畢后運(yùn)行某個(gè)js
更新時(shí)間:2014年06月16日 16:52:21 投稿:whsnow
這篇文章主要介紹了通過(guò)兩種方法實(shí)現(xiàn)在HTML頁(yè)面加載完畢后運(yùn)行某個(gè)js,需要的朋友可以參考下
js方法:
<script type="text/javascript">
window.onload=function(){
var userName="xiaoming";
alert(userName);
}
</script>
以下為jQuery方法,需要引用jQuery文件。
<script type="text/javascript">
$(document).ready(function(){
var userName="xiaoming";
alert(userName);
});
</script>
或者其簡(jiǎn)寫(xiě)
$(function(){
var userName="xiaoming";
alert(userName);
});
當(dāng)dom加載完就可以執(zhí)行(比window.onload更早)。在同一個(gè)頁(yè)面里可以多次出現(xiàn).ready()
PS:兩者的主要區(qū)別
window.onload:
當(dāng)一個(gè)文檔完全下載到瀏覽器中時(shí),才會(huì)觸發(fā)window.onload事件。這意味著頁(yè)面上的全部元素對(duì)js而言都是可以操作的,也就是說(shuō)頁(yè)面上的所有元素加載完畢才會(huì)執(zhí)行。這種情況對(duì)編寫(xiě)功能性代碼非常有利,因?yàn)闊o(wú)需考慮加載的次序。、
$(document).ready{ }:
會(huì)在DOM完全就緒并可以使用時(shí)調(diào)用。雖然這也意味著所有元素對(duì)腳本而言都是可以訪問(wèn)的,但是,并不意味著所有關(guān)聯(lián)的文件都已經(jīng)下載完畢。換句話說(shuō),當(dāng)HMTL下載完成并解析為DOM樹(shù)之后,代碼就會(huì)執(zhí)行。
舉一個(gè)例子:
假設(shè)有一個(gè)表現(xiàn)圖庫(kù)的頁(yè)面,這種頁(yè)面中可能會(huì)包含許多大型圖像,我們可以通過(guò)jQuery隱藏、顯示或以其他方式操作這些圖像。如果我們通過(guò)onload頁(yè)面設(shè)置界面,那么用戶在能夠使用這個(gè)頁(yè)面之前,必須要等到每一幅圖像都下載完成。更糟糕的是,如果行為稍微添加給哪些具有默認(rèn)行為的元素(比如鏈接),那么用戶的交互可能會(huì)導(dǎo)致意想不到的結(jié)果。然而當(dāng)我們?cè)囉?(document).ready(){ }進(jìn)行設(shè)置時(shí),這個(gè)界面就會(huì)更早地準(zhǔn)備好可用的正確行為。
使用$(document).ready(){ }一般來(lái)說(shuō)都要優(yōu)于試用onload事件處理程序,但必須要明確一點(diǎn)的是,因?yàn)橹С治募赡苓€沒(méi)有家在完成,所以類似圖像的高度和寬度這樣的屬性此時(shí)不一定有效。
注:用把js放在頁(yè)面底部的方法以及運(yùn)用defer="defer" 的方法都是會(huì)出現(xiàn)問(wèn)題的。最好使用上面的函數(shù)!
復(fù)制代碼 代碼如下:
<script type="text/javascript">
window.onload=function(){
var userName="xiaoming";
alert(userName);
}
</script>
以下為jQuery方法,需要引用jQuery文件。
復(fù)制代碼 代碼如下:
<script type="text/javascript">
$(document).ready(function(){
var userName="xiaoming";
alert(userName);
});
</script>
或者其簡(jiǎn)寫(xiě)
復(fù)制代碼 代碼如下:
$(function(){
var userName="xiaoming";
alert(userName);
});
當(dāng)dom加載完就可以執(zhí)行(比window.onload更早)。在同一個(gè)頁(yè)面里可以多次出現(xiàn).ready()
PS:兩者的主要區(qū)別
window.onload:
當(dāng)一個(gè)文檔完全下載到瀏覽器中時(shí),才會(huì)觸發(fā)window.onload事件。這意味著頁(yè)面上的全部元素對(duì)js而言都是可以操作的,也就是說(shuō)頁(yè)面上的所有元素加載完畢才會(huì)執(zhí)行。這種情況對(duì)編寫(xiě)功能性代碼非常有利,因?yàn)闊o(wú)需考慮加載的次序。、
$(document).ready{ }:
會(huì)在DOM完全就緒并可以使用時(shí)調(diào)用。雖然這也意味著所有元素對(duì)腳本而言都是可以訪問(wèn)的,但是,并不意味著所有關(guān)聯(lián)的文件都已經(jīng)下載完畢。換句話說(shuō),當(dāng)HMTL下載完成并解析為DOM樹(shù)之后,代碼就會(huì)執(zhí)行。
舉一個(gè)例子:
假設(shè)有一個(gè)表現(xiàn)圖庫(kù)的頁(yè)面,這種頁(yè)面中可能會(huì)包含許多大型圖像,我們可以通過(guò)jQuery隱藏、顯示或以其他方式操作這些圖像。如果我們通過(guò)onload頁(yè)面設(shè)置界面,那么用戶在能夠使用這個(gè)頁(yè)面之前,必須要等到每一幅圖像都下載完成。更糟糕的是,如果行為稍微添加給哪些具有默認(rèn)行為的元素(比如鏈接),那么用戶的交互可能會(huì)導(dǎo)致意想不到的結(jié)果。然而當(dāng)我們?cè)囉?(document).ready(){ }進(jìn)行設(shè)置時(shí),這個(gè)界面就會(huì)更早地準(zhǔn)備好可用的正確行為。
使用$(document).ready(){ }一般來(lái)說(shuō)都要優(yōu)于試用onload事件處理程序,但必須要明確一點(diǎn)的是,因?yàn)橹С治募赡苓€沒(méi)有家在完成,所以類似圖像的高度和寬度這樣的屬性此時(shí)不一定有效。
注:用把js放在頁(yè)面底部的方法以及運(yùn)用defer="defer" 的方法都是會(huì)出現(xiàn)問(wèn)題的。最好使用上面的函數(shù)!
您可能感興趣的文章:
- 關(guān)于圖片的預(yù)加載過(guò)程中隱藏未知的
- js實(shí)現(xiàn)的頁(yè)面加載完畢之前l(fā)oading提示效果完整示例【附demo源碼下載】
- jQuery頁(yè)面加載初始化的3種方法(推薦)
- 基于javascript實(shí)現(xiàn)頁(yè)面加載loading效果
- pace.js頁(yè)面加載進(jìn)度條插件
- php簡(jiǎn)單計(jì)算頁(yè)面加載時(shí)間的方法
- jQuery在頁(yè)面加載時(shí)動(dòng)態(tài)修改圖片尺寸的方法
- 頁(yè)面加載完后自動(dòng)執(zhí)行一個(gè)方法的js代碼
- jquery實(shí)現(xiàn)在頁(yè)面加載完畢后獲取圖片高度或?qū)挾?/a>
- jQuery頁(yè)面加載初始化常用的三種方法
- 概述一個(gè)頁(yè)面從輸入U(xiǎn)RL到頁(yè)面加載完的過(guò)程
相關(guān)文章
JS基于遞歸實(shí)現(xiàn)倒計(jì)時(shí)效果的方法
這篇文章主要介紹了JS基于遞歸實(shí)現(xiàn)倒計(jì)時(shí)效果的方法,結(jié)合實(shí)例形式分析了javascript基于遞歸算法實(shí)現(xiàn)倒計(jì)時(shí)功能的相關(guān)操作技巧,需要的朋友可以參考下2016-11-11怎么選擇Javascript框架(Javascript Framework)
如果你正面臨這樣的問(wèn)題,希望下面的幾個(gè)建議對(duì)你在選擇javascript框架上會(huì)有所幫助2013-11-11js+html實(shí)現(xiàn)周歲年齡計(jì)算器
這篇文章主要為大家詳細(xì)介紹了js+html實(shí)現(xiàn)周歲年齡計(jì)算器的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06javascript removeChild 導(dǎo)致的內(nèi)存泄漏
最近看到司徒正美的一篇文章《移除DOM節(jié)點(diǎn)》,文中說(shuō)到在IE中移除容器類節(jié)點(diǎn),會(huì)引起內(nèi)存泄露。2010-08-08js實(shí)現(xiàn)登錄框鼠標(biāo)拖拽效果
本文主要介紹了js實(shí)現(xiàn)登錄框鼠標(biāo)拖拽效果的實(shí)例,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03ES6新特性之解構(gòu)、參數(shù)、模塊和記號(hào)用法示例
這篇文章主要介紹了ES6新特性之解構(gòu)、參數(shù)、模塊和記號(hào)用法,結(jié)合實(shí)例形式分析了解構(gòu)、參數(shù)、模塊和記號(hào)的功能、用法及相關(guān)使用注意事項(xiàng),需要的朋友可以參考下2017-04-04