开发者

window.scrollBy only works in Firefox?

In my website I have this javascript code, adding a vertical offset when in the url a specific section of the page is specified (#):

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

However this only works in Firefox... 开发者_JAVA百科I'm pretty sure window.location.hash works in all browsers, that is, the symbol "sharp" is correctly detected in the url.

However, the -60 offset only works in Firefox... this is the url, could you give me some insight ?

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

thanks


It seems to me that the default behavior is applied in a different order. So your code runs first, then the browser aligns the window according to the #hash. Push it to the event queue to run it afterwards.

if (typeof window.location.hash == "string") {
    setTimeout(function(){ window.scrollBy(0, -60); }, 1);
}


I tested it in IE 7 and it works, also in FireFox and Chrome...

If this really don't work try using this:

function jumpScroll(amount) {
  document.body.scrollLeft += amount;
}

jumpScoll(100); 

or value which you want...

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜