2017-05-24 80 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/

相关问题