你能停止window.onload函数吗

Can you stop a window.onload function?

本文关键字:onload 函数 window      更新时间:2023-09-26

我实现了由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);
}