本文以實例形式說明了多個$(document).ready()的執行順序問題,由實例可以看出多個$(document).ready()的執行順序并非單純的順序執行,其與嵌套層級也有一定的關系。具體實例代碼如下:
<html>
<head>
<script src="./jquery-1.9.0.min.js"></script>
<script type="text/javascript">
$(function(){
alert('1');
$(function(){
alert('2');
$(function(){
alert('3');
});
});
});
</script>
<body>
TTTTTTTTTTTT
<script type="text/javascript">
$(document).ready(function() {
alert('4');
$(function(){
alert('5');
});
});
</script>
KKKKKKKKKKKK
<script type="text/javascript">
$(function(){
alert('6');
$(document).ready(function() {
alert('7');
});
});
</script>
</body>
</html>
運行alert顯示順序為:1,4,6,2,5,7,3
讀者可以自己測試體驗一下,以加深對多個$(document).ready()執行順序的理解。
有興趣還可以在控制臺里試試這堆:
var 隊列 = [];
function 隊列添加(函數) {
隊列.push(函數);
}
function 執行隊列() {
while (函數 = 隊列.shift()) {
函數();
}
}
隊列添加(function () {
console.log('1');
隊列添加(function () {
console.log('2');
隊列添加(function () {
console.log('3');
});
});
});
隊列添加(function () {
console.log('4');
隊列添加(function () {
console.log('5');
});
});
隊列添加(function () {
console.log('6');
隊列添加(function () {
console.log('7');
});
});
執行隊列();