如何延迟javascript函数的调用?

如何延迟javascript函数的调用?,javascript,jquery,dom-events,Javascript,Jquery,Dom Events,我是JavaScript新手 我想在aspx页面加载页面后调用JavaScript/jQuery函数 我尝试使用和window.load=function(){},但JavaScript仍然会在部分内容完全加载之前触发 是否可以在aspx页面的Page\u PreRender期间而不是在代码隐藏中调用,以便延迟JavaScript函数 我尝试了setTimeout(“function()”,5000)来解决这个问题 但是,setTimeout()似乎与某些浏览器不兼容,例如:Google Chr

我是JavaScript新手

我想在aspx页面加载页面后调用JavaScript/jQuery函数

我尝试使用
window.load=function(){}
,但JavaScript仍然会在部分内容完全加载之前触发

是否可以在aspx页面的
Page\u PreRender
期间而不是在代码隐藏中调用,以便延迟JavaScript函数

我尝试了
setTimeout(“function()”,5000)
来解决这个问题


但是,
setTimeout()
似乎与某些浏览器不兼容,例如:Google Chrome中导致的循环。

setTimeout
自1996年以来与所有浏览器兼容。您应该避免计算“functionName()”,而是执行以下操作:

setTimeout(functionName,5000)
更新:如果您最初期望传递给函数的变量在超时时为空,则需要执行以下操作:

setTimeout(function() { functionName() },5000)
但是,您错误地调用了
onload
,因此需要执行以下操作之一:

window.addEventListener("load",function() {
  // your stuff
}
还是更简单

window.onload=function() {
  // your stuff
}
或者,由于您正在使用,因此:

或者仅仅是这样:

$(function() {
    // your stuff
});
还是旧式

<body onload="myFunction()">

最好使用这样的框架。
在jQuery中,可以定义如下函数:

$(document).ready(function() {

});
这样,当DOM完全加载时将调用它


可以找到ready()函数的完整文档。

如果要使用jQuery,最好使用以下方法之一将事件附加到文档就绪事件:

$(document).ready(callback);


如果要100%确定页面实际加载的时间,请使用:

$(window).load(function(){
   //After EVERYTHING loads, including images.
})

另一种解决方案是,
onload
可以工作,但它会在DOM准备好后加载,但不会在窗口实际加载完成时加载。

我们不再使用旧样式了-拜托。好吧,好吧,我曾经在其他方法都不起作用时使用过它(很久以前,IE6+很多脚本)。我也不喜欢它。老式的!杀了它!用球棒把它烧了!用火砸碎它!xpcode>$(function(){})不适合您吗?
$(document).ready(callback);
$(document).ready(function () { /* do stuff */ });
$(callback);
$(function () { /* do stuff */ });
$(window).load(function(){
   //After EVERYTHING loads, including images.
})