2

ここで見ることができるように:http://jsfiddle.net/huJ95/ divが始まる前に(私が信じる5-10ピクセル)のようにスクロールが停止します(テキストが-> divが始まるので、ユーザーは上にスクロールする必要があります初めを見るために)それはなぜですか?そして、どうすればそれを修正できますか?JsfiddleのHTML/CSS(私は無関係だと思います)。

JS:

 jQuery(document).ready(function($) {
        $("nav").on("click", "a", function(e) {
            e.preventDefault();
            $('html,body').animate({scrollTop:$(this.hash).offset().top}, 500);
        });
    });
4

1 に答える 1

3

実際、それはかなり簡単です。あなたはの高さを考慮していませんnav。したがって、コンテンツはナビゲーションの下ではなく、ページの上部にあります。これを計算から差し引く必要があります。例:

$('html,body').animate({scrollTop:$(this.hash).offset().top - $('nav').outerHeight()}, 500);

jsFiddle: http: //jsfiddle.net/huJ95/2/

于 2012-11-28T20:45:00.593 に答える