是否有任何技巧如何在javascript中启动一个函数,该函数在页面完全加载时启动?
答案 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。