1. 程式人生 > >js中頁面載入完成後執行的幾種方式及執行順序

js中頁面載入完成後執行的幾種方式及執行順序

在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="aaa()">等待body載入完成,就會執行aaa()方法。

那麼,這五種方式,執行的先後順序是怎麼樣的呢?

通過下方程式碼驗證發現:

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

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

       使用5:<body onload="aaa()">總是最後執行。

<html>
	<head>
		<script src="jquery-2.2.3.min.js"></script>
		<script type='text/javascript'>
			
			window.onload = function(){
				alert("頁面載入完成====》onload");
			}
			
			$(window).load(function(){
				alert("jquery===》window load" );
			})
			
			$(document).ready(function () {
				alert("jquery====》document ready");
			});
			
			$(function(){
				alert("jquery====》document onload");
			});
			
			function aaa(){
				alert("靜態標籤====》onload");
			}
		</script>
	</head>
	<body onload="aaa()">
		 
	</body>
</html>

注意:引用上方程式碼,記得匯入jQuery指令碼。