私は1ページのサイトに対して滑らかなスクロールスクリプトを使用しています。各アンカーにスクロールします。jQueryスクリプト異なるオフセットを持つ異なるセクションへスムーズにスクロール
デザイン上、アンカースナップをページの上部にまっすぐに置くことはできません。私はページの上にある隠れたアンカーを作成しなければならなかったので、上に正確にスナップしません。私は、このスクリプト内で発生するオフセットを作ることができることを知らされてい
jQuery(document).ready(function($) {
$(".scroll").click(function(event){
event.preventDefault();
$('html,body').animate({
scrollTop: $('[name="' + this.hash.substring(1) + '"]').offset().top
}, 500);
});
});
:ここ
は、私が現在使用しているスクリプトです。これらのほとんど隠されたアンカーをどこにでも持つのではなく、単に頂点の最後に何かを加えて、それを特定のピクセル数だけオフセットすることができます。 250$('html,body').animate({
scrollTop:$('[name="' + this.hash.substring(1) + '"]').offset().top - 250
}, 500);
問題は、これは常に250ピクセルもオフセットになるだろうが、私は、例えば、ポートフォリオのdivは200pxのオフセットで固定することができるように、それは可変とする必要があるが、 - それはトップだろうdivに連絡するのは50ピクセルだけです。
誰かが、私がdivを固定していることに基づいてこのトップ - [変数]を調整できるスクリプトにセレクタを書き込むのを手伝ってもらえますか?
コードスニペットを試しましたか?これは、アンカーのオフセットを取得し、動的値から250を引いたものとして機能します。確かに、大括弧で計算を囲んでみてください。 – Bojangles
http://jsfiddle.net/で簡単なテストコードを提供できますか?あなたの 'div#contact'と' div#portfolio'はどこにあるのか分かりません。 – Giberno
こんにちは、私は試しました。それは動作しますが、常にdivの上に正確に250pxの位置にあります。これは私が望むものではありません。 – Francesca