2016-05-25 5 views
0

私はJS/JQueryを通して自分のやり方を混乱させることができ、私は以下のコードを変更する助けが必要です。ページを各要素の先頭にスクロールするのに使用されていますが、Webサイトのヘッダーは常に上に浮かぶので、要素の最上位のxピクセルがヘッダーの下になります。ヘッダー(静的な数値)の高さでオフセットされるように、これをどのように編集できますか?スティッキーヘッダーの高さを考慮してscrollTopをオフセットするにはどうすればよいですか?

$('html, body').animate({ scrollTop: element.offset().top }, {duration: 400 }); 

答えて

0

あなたのヘッダーは固定の高さである場合は、ちょうどあなたのページの先頭にパディングを追加するには(body)それは高さだと等価です。

CSS:

JS:それは一定の高さではない場合

body { padding-top: {height_of_header}px; } 

、その後、ちょうどあなたの要素マイナスあなたのヘッダーの高さの位置にあなたのscrollTopスプライトので、あなたのページのスクロールを変更します。

$('html, body').animate({ scrollTop: element.offset().top - $('#header').height() }, {duration: 400 }); 
+0

ああ、本当にありがとうございます!ヘッダーの高さをoffset()から引く方法を正確に把握することができませんでした。top - 私はそれが見えるようになりました。私は実際に.height()の後にセミコロンを削除しなければならなかったのですが、私はなぜJSで擦っているのか分かりません。 – Nick

+0

@Nick - セミコロンはタイプミスです。ありがとう! – Adam

関連する問題