コード:
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() に入れようとしましたが、結果は同じです。$(window).load() 内にある場合でも、offset().top は更新時に異なる値を返します。