2017-05-24 75 views
0

以下兩個代碼有什麼區別?

1.

$j(document).ready(function() { 
    $j(window).scroll(function() { 
     // do something 
    }); 
}); 

2.

$j(window).scroll(function() { 
    // do something 
}); 
+2

只有當DOM準備就緒時,纔會起作用 –

回答

0

$(document).ready(function(){ });僅被加載的一切,當運行時,這意味着包括圖像和iFrame。所以當你滾動時,你實際上會滾動到你想要的位置。如果圖像尚未加載,您將滾動到一個部分,然後加載圖像,使頁面發生變化並移動元素,然後可以添加一個不同的位置,然後在最初滾動到的位置。

https://learn.jquery.com/using-jquery-core/document-ready/

+0

這是誤導。 '$(document).ready(function(){})'當DOM準備就緒(當所有的DOM元素被創建時)而不是當所有東西都被加載時執行。 '$(window).on('load',function(){});'在頁面加載完成時執行(例如:圖像加載完成時)。 –

+0

你說得對。對不起,$(document).ready(function(){})在JavaScript準備運行時執行。 – broodjetom

1

代碼

$j(document).ready(function() { 
    $j(window).scroll(function() { 
     // do something 
    }); 
}); 

只執行當DOM加載,而相比之下,

$j(window).scroll(function() { 
    // do something 
}); 

其中一旦執行如JavaScript執行到達的代碼

這部分

閱讀更多信息:https://api.jquery.com/ready/

相關問題