在我的网站上我有这个javascript代码,在网址中添加了一个垂直偏移量,指定了页面的特定部分(#):
if(!! window.location.hash) window.scrollBy(0,-60);
然而,这仅适用于Firefox ...我很确定window.location.hash适用于所有浏览器,即在网址中正确检测到符号“sharp”。
然而,-60偏移仅适用于Firefox ...这是网址,你能给我一些见解吗?
http://patrickdiviacco.co.cc/#432
感谢
答案 0 :(得分:4)
在我看来,默认行为以不同的顺序应用。因此,您的代码首先运行,然后浏览器根据#hash
对齐窗口。将其推送到事件队列,然后再运行它。
if (typeof window.location.hash == "string") {
setTimeout(function(){ window.scrollBy(0, -60); }, 1);
}
答案 1 :(得分:0)
我在IE 7中对它进行了测试,它也适用于FireFox和Chrome ......
如果这确实不起作用,请尝试使用:
function jumpScroll(amount) {
document.body.scrollLeft += amount;
}
jumpScoll(100);
或您想要的价值......