HTML頁面載入完畢後執行某個js
1、js方法:
<script type="text/javascript">
window.onload=function(){
alert("html頁面載入完成後一");
}
</script>
2、jQuery方法:(需要引用jQuery檔案支援)
<script type="text/javascript">
$(document).ready(function(){
alert("html頁面載入完成後二");
});
</script>
或者可以簡寫為
<script type="text/javascript">
$(function(){
alert("html頁面載入完成後二");
});
</script>
當dom載入完就可以執行(比window.onload更早)。在同一個頁面裡可以多次出現.ready()
PS:兩者的主要區別
window.onload:
當一個文件完全下載到瀏覽器中時,才會觸發window.onload事件。這意味著頁面上的全部元素對js而言都是可以操作的,也就是說頁面上的所有元素載入完畢才會執行。這種情況對編寫功能性程式碼非常有利,因為無需考慮載入的次序。
$(document).ready{ }:
會在DOM完全就緒並可以使用時呼叫。雖然這也意味著所有元素對指令碼而言都是可以訪問的,但是,並不意味著所有關聯的檔案都已經下載完畢。換句話說,當HMTL下載完成並解析為DOM樹之後,程式碼就會執行。
舉一個例子:
假設有一個表現相簿的頁面,這種頁面中可能會包含許多大型影象,我們可以通過jQuery隱藏、顯示或以其他方式操作這些影象。如果我們通過onload頁面設定介面,那麼使用者在能夠使用這個頁面之前,必須要等到每一幅影象都下載完成。更糟糕的是,如果行為稍微新增給哪些具有預設行為的元素(比如連結),那麼使用者的互動可能會導致意想不到的結果。然而當我們試用$(document).ready(){ }進行設定時,這個介面就會更早地準備好可用的正確行為。
使用$(document).ready(){ }一般來說都要優於試用onload事件處理程式,但必須要明確一點的是,因為支援檔案可能還沒有家在完成,所以類似影象的高度和寬度這樣的屬性此時不一定有效。
注:用把js放在頁面底部的方法以及運用defer="defer" 的方法都是會出現問題的。最好使用上面的window.onload函式!
window.onload繫結多個函式
當一個HTML頁面中載入了兩個window.onload=function(){}函式時,頁面只會執行第二個window.onload裡面的內容,如果需要同時繫結多個事件,該如何處理呢?
方案一:
建立一個匿名函式,來容納需要繫結的多個事件,再講這個匿名函式繫結到onload事件上
window.onload = function(){
firstFunction();
secondFunction();......
}
方案二:
function addEventLoad(func){
var oldOnload = window.onload;
if(typeof window.onload!='function'){
window.onload = func;
}else{
window.onload = function(){
oldOnload();
func();
}
}
}
將現有的window.onload事件處理函式的值存入變數oldOnload:
如果這個處理函式上還沒有繫結函式,則把新函式繫結給它;
如果已經綁定了函式,則把新的函式追加到指令的末尾。
呼叫方法:
addEventLoad(firstFuction);
addEventLoad(secondFuction);
相關推薦
在HTML頁面載入完畢後執行某個js
在DOM載入完就可以執行(比window.onload更早)。在同一頁面中可以多次出現.ready() 兩者主要區別:Window.onload=function (){}: 當一個文件完全下載到瀏覽器中時,才會觸發window.onload事件。這意味著頁面上的全部元素對js而言都是可以操
HTML頁面載入完畢後執行某個js
1、js方法: <script type="text/javascript"> window.onload=function(){ alert("html頁面載入完成後一"); } </script> 2、jQuery方法:(需要引用j
兩種方法實現在HTML頁面載入完畢後執行某個js:
Js方法:<script type=”text/javascript”> window.onload=function (){ var userName=”xiaoming”; alert(userName); } </script&
JS頁面載入完畢後執行的多種方式和比較
做專案的時候可能會遇到這種情況: 一個頁面的中定義了多個onload事件,那麼在此定義window.onload函式的時候可能會不生效或者多個onload之間覆蓋的現象. 有的朋友肯定會說用jQuery的$$(document).ready(func
怎樣在jsp頁面載入時首先執行某個js
假如我們再載入登入頁面時,當載入完成頁面時,把游標指定在使用者名稱那裡 如下所示 一般有兩種做法 1 此方法是游標停留在使用者名稱上 function init(){ var ctrl=docum
Vue.js 關於頁面載入完成後執行一個方法的問題
首先我們會想著在mounted或者created裡面加入想要執行的方法,但是有的時候會遇到在你執行這個方法的時候,頁面還並沒有被渲染完成,所以就會出現這個方法在匹配頁面標籤報錯的情況。 解決思路: 1.通過子頁面呼叫父頁面的方法,因為在子頁面開始渲染的時候,你的父頁面肯定
當jsp頁面完全載入完成後執行一個js函式
function openTheIndexPage() { openMyURIWithCid(true, 'root', 'IDX', "iframe/dispatch.jsp?url=tdc/zhk/impctrlobjinf/index/index.jsp", '首頁',
頁面載入完成後執行JS的5種方式
在js和jquery使用中,經常使用到頁面載入完成後執行某一方法。通過整理,大概是五種方式。 1.jQuery的$( function(){} ); 2.jQuery的$(document).rea
當頁面完全載入完成後執行一個js函式
1、在body中用onload: ? 1 <body onload="myfunction()"> 2、在指令碼中用window.onload: ? 1 2 3 4 5 6 7 8 <script type="text/ja
頁面所有元素載入完成之後執行某個js函式
做專案的時候可能會遇到這種情況: 一個JSP頁面中import了一個目錄檔案(menu.jsp),而且每個頁面的<body>中都定義了onload事件,那麼在此定義window.onload函式的時候可能會不生效或者多個onload之間覆蓋的現象.
js中頁面載入完成後執行的幾種方式及執行順序
在js和jquery使用中,經常使用到頁面載入完成後執行某一方法。通過整理,大概是五種方式(其中有的只是書寫方式不一樣)。 1:使用jQuery的$(function){};2:使用jquery的$(document).ready(function(){});前兩者本質上沒
如何在頁面載入完畢後獲取圖片高度或寬度問題
日前,本技術屌絲又遇到了一個很有意思的問題,應專案要求,需要在頁面載入完畢之後獲取圖片的高度,以此來調整圖片上面的覆蓋層相對於圖片頂端的位置。 但在jquery(function(){ /*XXXXXX*/});裡面寫了之後發現不是很理想,因為當jquery準備就緒的時候
jquery頁面載入完成後執行方法
引入jquery 1、$(function(){ $("#a").click(function(){ //adding your code here }); }); 2、$
實現在html頁面載入之前執行js方法
瀏覽器對html頁面內容的載入是順序載入,也就是在html頁面中前面先載入,因此當載入到JS指令碼時,JS是一種解釋性的指令碼,也是從上而下順序執行,由於這段JS程式碼是立即執行的。 第一種
頁面載入完後立刻執行JS的兩種方法
方式一:window.onload:當一個文件完全下載到瀏覽器中時,才會觸發window.onload事件。這意味著頁面上的全部元素對js而言都是可以操作的,也就是說頁面上的所有元素載入完畢才會執行。這種情況對編寫功能性程式碼非常有利,因為無需考慮載入的次序。window.o
頁面載入完後自動執行一個方法的js程式碼
1、在body中用onload: <body onload="myfunction()"> 2、在指令碼中用window.onlo <script type="text/ja
js中如何控制所有頁面載入完成後,再執行某些方法
做頁面時經常會遇到當前頁面載入完成後,執行某些初始化工作。這時候就要知道如何判斷頁面(包括IFRAME)已經載入完成,程式碼如下: <script language="javascript"> document.onreadystatechange
簡單實用的JS實現頁面載入完畢之前loading提示效果(相容性較強的loading載入程式碼)
一種簡單實用的JS實現頁面載入完畢之前loading提示效果 做成js呼叫即可: 一、JS程式碼: var _PageHeight = document.documentElement.clientHeight, _PageWidth = documen
js實現所有非同步請求全部載入完畢後,loading效果消失
在實際開發中,一定有情況是這樣的,一個頁面我們有多個地方請求了ajax,在這種情況下,我們要實現資料沒來之前出現我們炫酷的loading效果,而且要等到所有的ajax都請求完畢後,才讓我們的loading效果消失,那麼問題來了,每個ajax請求資料的時間都是不確定的,我們這個loading效果結束的
JS實現頁面載入完畢之前loading提示效果
做成js呼叫: base-loading.js程式碼 /******************************************* * * 建立人:Quber([email protected]) * 建立時間:2014年6月10日 *