window.scrollBy只适用于Firefox?

时间:2011-02-06 20:52:52

标签: javascript

在我的网站上我有这个javascript代码,在网址中添加了一个垂直偏移量,指定了页面的特定部分(#):

if(!! window.location.hash)     window.scrollBy(0,-60);

然而,这仅适用于Firefox ...我很确定window.location.hash适用于所有浏览器,即在网址中正确检测到符号“sharp”。

然而,-60偏移仅适用于Firefox ...这是网址,你能给我一些见解吗?

http://patrickdiviacco.co.cc/#432

感谢

2 个答案:

答案 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); 

或您想要的价值......