你能停止 window.onload 函数吗?

Can you stop a window.onload function?

我实现了由 window.onload

触发的顺序淡入淡出

我想知道我是否可以阻止它在中途或当前所在的任何地方执行,并使用 ...style.display = "inline-block"; 立即显示所有将要淡入的所有内容。

如果你用过,

function init()
{
}
window.onload = init;

住手!
该行代码将完全清除附加的任何其他函数并准备好处理 onload 事件。您的脚本这样做多么傲慢! ;)

相反,您的脚本应该学会很好地播放。不幸的是,JavaScript 不支持 C# 的委托语法。
是的,有一种方法可以实现:

第一种方式:

function highlightXFNLinks()
{
  // Does stuff...
}

//
// Adds event to window.onload without overwriting currently 
// assigned onload functions.
function addLoadEvent(func)
{    
    var oldonload = window.onload;
    if (typeof window.onload != 'function')
    {
        window.onload = func;
    } 
    else 
    {
        window.onload = function()
        {
            oldonload();
            func();
        }
    }
}

addLoadEvent(highlightXFNLinks);

window.onload += init;

第二种方式:

比第一个好...

function AddOnload(myfunc)
{
    if(window.addEventListener)
        window.addEventListener('load', myfunc, false);
    else if(window.attachEvent)
        window.attachEvent('onload', myfunc);
}