Jquery - 如果页面已加载

时间:2011-03-17 22:44:38

标签: javascript jquery

是否有任何技巧如何在javascript中启动一个函数,该函数在页面完全加载时启动?

9 个答案:

答案 0 :(得分:34)

如果您的意思是加载了HTML文档,请使用ready事件:

$(document).ready(function(){
  ...
});

或简写:

$(function(){
  ...
});

如果您的意思是包含所有样式表,脚本,图片和诸如此类内容的页面已完成加载,请使用load事件:

$(window).load(function(){
  ...
});

答案 1 :(得分:3)

$( window ).bind( 'load', function()
{
    //your code in here
} );

答案 2 :(得分:1)

检查一下: http://api.jquery.com/ready/

 jQuery(document).ready(function($) {
 // Code using $ as usual goes here.
 });

答案 3 :(得分:1)

这取决于您对“加载”的定义。在jQuery文档中查看这两个函数:

具体来说,您可以在ready()功能的文档页面中看到差异。

  

虽然JavaScript提供了负载   用于在页面执行代码的事件   渲染,此事件没有得到   触发,直到所有资产如   图像已被完全接收。   在大多数情况下,可以运行脚本   一旦DOM层次结构出现了   完全构造。处理程序通过   到.ready()保证是   在DOM准备好之后执行,所以   这通常是最好的地方   附加所有其他事件处理程序和   运行其他jQuery代码。使用时   依赖于CSS值的脚本   风格属性,这很重要   引用外部样式表或   之前嵌入样式元素   引用脚本。

     

在代码依赖于加载的情况下   资产(例如,如果维度   图像是必需的),代码   应该放在一个处理程序中   改为加载事件。

答案 4 :(得分:1)

当DOM准备就绪时,请使用.ready event。

jQuery(document).ready(function(){
  //content
});

页面加载图片时也会使用.load事件。

jQuery(window).load(function(){
  //content
});

答案 5 :(得分:0)

尝试将加载事件回调绑定到页面上的最后一个图像。

答案 6 :(得分:0)

要在完全加载文档后调用方法,请使用

$(document).ready(function(){
  ...
});

否则,如果页面是通过ajax调用加载

$('#containerdiv').load('samplepage.jsp', function() {
  alert("ajax load complet.."); 
});

答案 7 :(得分:0)

如果你真的希望你的Javascript能够运行一次'所有'你的所有HTML加载,你可以

window.onload = function(){
   // Do stuff
}

答案 8 :(得分:-1)

您正在寻找窗口加载事件。

在jQuery中,您可以按如下方式附加load事件:

$(document).ready(function() {

  $(window).load(function() {

  }

}

请注意,您需要将其放在文档中,以备某些浏览器IE8 OTTOMH。