function checkLoad()
{
if (window.onLoad)
{
// you can call your statements in here
} else {
setTimeout('checkLoad();', 1000)
}
}
您可以尝试的另一个技巧是:
if (window.addEventListener){
window.addEventListener('load', ready, false)
} else if (window.attachEvent) {
window.attachEvent('onload', ready)
}
编辑:
如果上述两种方法都不起作用,请尝试下面的一种,它应该是万无一失的,如果这不起作用。您的代码中可能还有其他问题:
function makeDoubleDelegate(function1, function2) {
return function() {
if (function1)
function1();
if (function2)
function2(); //call your get slider width statements in here.
}
}
window.onload = makeDoubleDelegate(window.onload, myNewFunction );
这背后的逻辑是,makeDoubleDelegate() 函数将被放在第一个 JS 文件中,随时可以调用。它所做的是接受两个函数作为参数,检查它们是否存在,如果存在,则返回一个包含有效的现有函数的匿名函数。
第一次调用 window.onload 时,window.onload 本身是未定义的,所以返回的是一个匿名函数,里面只有 myNewFunction()。在随后的 window.onload 分配中,window.onload 确实存在,因此它所持有的任何内容都将被新函数包裹起来。所以名单越来越长。