Javascript Java脚本-在页面加载之前隐藏按钮

Javascript Java脚本-在页面加载之前隐藏按钮,javascript,Javascript,我已经建立了一个水平滚动网站。我对Java脚本知之甚少,但我下载了这个名为Horizontal Tiny Scroller的脚本,它可以让您在不使用滚动条的情况下水平滚动网站 除了脚本只有在页面上的其他所有内容加载完毕后才能加载外,其他所有内容都可以正常工作。由于我的网站有大量的图形,这创造了一个可用性,因为滚动按钮不能立即工作。我猜大多数用户都会认为按钮坏了 经过一段时间的研究,我发现没有办法在图片加载之前加载按钮,所以我只能隐藏按钮,直到页面加载完毕 微型滚动脚本使用document.wri

我已经建立了一个水平滚动网站。我对Java脚本知之甚少,但我下载了这个名为Horizontal Tiny Scroller的脚本,它可以让您在不使用滚动条的情况下水平滚动网站

除了脚本只有在页面上的其他所有内容加载完毕后才能加载外,其他所有内容都可以正常工作。由于我的网站有大量的图形,这创造了一个可用性,因为滚动按钮不能立即工作。我猜大多数用户都会认为按钮坏了

经过一段时间的研究,我发现没有办法在图片加载之前加载按钮,所以我只能隐藏按钮,直到页面加载完毕

微型滚动脚本使用document.writeln命令使按钮显示在页面上:

document.writeln('<a href="javascript://" id="left-arrow"></a>\n<a href="javascript://" id="right-arrow"></a>');
最后,我编写了一个
onload=function
来将
.hidden
类与
.visible
类交换:

onload=function() {
     document.getElementById('left-arrow').className='visible';
     document.getElementById('right-arrow').className='visible';
}
可以看到完成的脚本

一切正常,按钮只有在页面加载后才会出现。但是,滚动功能不再工作了!如果我删除
onload=function
所有功能都会再次工作(当然,按钮会在页面完成加载之前出现)


有人知道我做错了什么吗?

您可能正在覆盖库设置的onload处理程序。这可能不是完成您需要做的事情的最佳方式,但是考虑到您对Javascript还不熟悉,我们将尝试让它工作起来

将onload处理程序更改为:

function handler() {
    document.getElementById('left-arrow').className='visible';
    document.getElementById('right-arrow').className='visible';
}

var old_onload = window.onload;
window.onload = function() {
    handler();
    if(old_onload) {
        old_onload();
    }
};
这将检查是否已设置了onload处理程序,如果已设置,则不会覆盖它。

我建议您连接到onload,而不是覆盖它


非常感谢mwilcox和bluesmoon!连接onload比我的技能稍高一点,所以我使用了BlueMoon的建议,效果非常好。然而,我希望将来能学习Java脚本,因此我将再次尝试mwilcox的建议。谢谢
function handler() {
    document.getElementById('left-arrow').className='visible';
    document.getElementById('right-arrow').className='visible';
}

var old_onload = window.onload;
window.onload = function() {
    handler();
    if(old_onload) {
        old_onload();
    }
};
if(window.attachEvent){ //IE
    window.attachEvent("onload", myChangeVisFunc);
}else{
    window.addEventListener("load", myChangeVisFunc, false);
}