0

代码:

if(jQuery("#content h1.title").length > 0){
    jQuery('html, body').animate({
        scrollTop: jQuery("#content h1.title:first").offset().top - jQuery("#sticky").outerHeight()
    }, 2000);
}

问题: 如果我已经在页面上然后点击刷新按钮,上面的代码可以正常工作。否则,如果我在浏览器中手动打开页面,上面的代码将滚动到 H1 下方。Div #sticky 位置固定,高度为 60px。为什么会发生这种情况以及如何解决?

我尝试将上面的代码放入 $(window).load() 中,结果是一样的。offset().top 在刷新时返回不同的值,即使它位于 $(window).load() 内。

4

0 回答 0