如何延迟javascript函数的调用?
我是JavaScript新手 我想在aspx页面加载页面后调用JavaScript/jQuery函数 我尝试使用如何延迟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
和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.
})