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