不同的jquery offset()。chrome中刷新和加载之间的最高值

时间:2013-07-24 16:54:24

标签: jquery google-chrome offset

我正在使用以下函数手动执行滚动到我页面上的锚点链接:

var hash = window.location.hash.substring(1);
if (hash != ''){
      var anchor = $('#' + hash + '_hash').offset().top - 50;
      $("html,body").animate({ scrollTop: anchor}, 1000)
};

代码正常工作,除了我在chrome中专门为offset().top获取不同的值,并且在刷新和实际页面加载之间始终为40px。在刷新时,我得到正确的值,在页面加载时输入url或在新选项卡中打开,我得到相同的值减去40px。

我已将此函数移至$(window).load(function () {...});,因为我认为可能是某些缓存元素加载更改值但问题仍然存在。

任何人都知道为什么会发生这种情况?我试着寻找类似的问题/答案,但我还没找到任何东西,所以如果这是一个重复的话,我会提前道歉。

0 个答案:

没有答案