1. 程式人生 > >頁面載入完成後執行JS的5種方式

頁面載入完成後執行JS的5種方式

在js和jquery使用中,經常使用到頁面載入完成後執行某一方法。通過整理,大概是五種方式。

1.jQuery的$( function(){} );

2.jQuery的$(document).ready( function(){} );前兩者本質上沒有區別,第1種是第2種的簡寫方式。兩個是document載入完成後就執行方法。

3.jQuery的$(window).load( function(){} );

4.window.onload = function(){} 第3種和第4種都是等整個window載入完成執行方法體。兩者也沒有區別,只是一個使用dom物件,一個使用jQuery物件。

5.在標籤上靜態繫結onload事件,<body onload="executeAfterloadedBody()">等待body載入完成,就會執行executeAfterloadedBody()。

window.onload必須等到頁面內包括圖片的所有元素載入完畢後才能執行,$(document).ready()是DOM結構繪製完畢後就執行,不必等到載入完畢

window.onload不能同時編寫多個,如果有多個window.onload方法,只會執行一個,$( function(){} )/$(document).ready()可以同時編寫多個,並且都可以得到執行

這五種方式,執行的先後順序是:

1.$( function(){} );和 2.$(document).ready( function(){} ); 無論位置放置在哪裡,總是優先其餘三種方式(原因是:這兩種方式是在document載入完成後就執行,後三種是等到整個window頁面載入完成後才執行),這兩者之間的執行順序是誰在上方誰優先執行。

3.$(window).load(function(){});4.window.onload = function(){} 這兩種方式,總是優先於<body onload="executeAfterloadedBody()">執行。他們兩者執行順序也是根據誰在上方誰先執行。

5.<body onload="executeAfterloadedBody()">總是最後執行。

<script type='text/javascript'>    window.onload = function(){      alert("window_html loaded====》onload");    }    $(window).load(function(){      alert("jquery===》window_html loaded" );    })    $(document).ready(function () {      alert("jquery====》document loaded");    });    $(function(){      alert("jquery====》document onload");    });    function executeAfterloadedBody(){      alert("====》onload");    }

</script>  <body onload="executeAfterloadedBody()">  </body>