2

正如您在这里看到的:http: //jsfiddle.net/huJ95/滚动停止(我相信 5-10 像素)在 div 开始之前(文本在哪里-> 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 回答