0

以下のコードを使用してリンクがクリックされたときに、JQueryの行を使用して、ユーザーをページの右側に誘導しています。

$('html, body').animate({ scrollTop: $("#cell_" + scrollTo).offset().top }, 1500);

正常に動作しており、ページの正しい位置までスクロールしています。ただし、サイトには固定のナビゲーションバー(高さ:49px、位置:固定;)があり、スクロールするとページの上部に表示されなくなります。この問題は、ページが目的のコンテンツまでスクロールダウンした後も、ナビゲーションバーの下をスクロールし続けて、ページが見えなくなるときに発生します。

私の質問は、ナビゲーションバーを補正するために上記のコードをどのように変更できますか?

どんな助けでも大歓迎です、

リンドン

4

1 に答える 1

1

ヘッダーのouterHeightを取得し、スクロール先の量からそれを差し引く必要があります。

var scrollToPosition = parseInt($("#cell_" + scrollTo).offset().top) - parseInt($('#header').outerHeight());

if (scrollToPosition < 0) { scrollToPosition = 0 } // make sure it is not negative

$('html, body').animate({ scrollTop: scrollToPosition }, 1500);
于 2011-06-09T16:07:22.277 に答える