Jquery – 如果页面已加载
有没有什么技巧如何在javascript中启动一个函数,它在页面完全加载时启动?
如果您的意思是HTML文档已加载,请使用ready
事件:
$(document).ready(function(){ ... });
或简写:
$(function(){ ... });
如果您的意思是包含所有样式表,脚本,图像和诸如此类的页面已完成加载,请使用load
事件:
$(window).load(function(){ ... });
$( window ).bind( 'load', function() { //your code in here } );
请查看: http : //api.jquery.com/ready/
jQuery(document).ready(function($) { // Code using $ as usual goes here. });
这取决于您对“加载”的定义。 在jQuery文档中查看这两个函数:
- 加载()
- 准备()
具体来说,您可以在ready()
函数的doc页面中看到差异。
虽然JavaScript在呈现页面时提供了用于执行代码的加载事件,但在完全接收到所有资产(如图像)之前,不会触发此事件。 在大多数情况下,只要完全构造DOM层次结构,就可以运行脚本。 传递给.ready()的处理程序保证在DOM准备好后执行,因此这通常是附加所有其他事件处理程序并运行其他jQuery代码的最佳位置。 使用依赖于CSS样式属性值的脚本时,在引用脚本之前引用外部样式表或嵌入样式元素很重要。
如果代码依赖于加载的资源(例如,如果需要图像的维度),则应将代码放在load事件的处理程序中。
当DOM准备就绪时,使用.ready事件。
jQuery(document).ready(function(){ //content });
当页面加载图像时,你也使用.load事件。
jQuery(window).load(function(){ //content });
尝试将加载事件回调绑定到页面上的最后一个图像。
一旦文档加载完全使用就调用一个方法
$(document).ready(function(){ ... });
否则,如果通过ajax调用使用加载页面
$('#containerdiv').load('samplepage.jsp', function() { alert("ajax load complet.."); });
如果你真的希望你的Javascript在所有HTML加载的“一切”后运行,你可以使用
window.onload = function(){ // Do stuff }
您正在寻找窗口加载事件。
在jQuery中,您附加load事件如下:
$(document).ready(function() { $(window).load(function() { } }
请注意,您需要将其放在文档中,以备某些浏览器IE8 OTTOMH使用。