滚动到元素时,从页面顶部设置像素距离

时间:2016-03-23 23:08:10

标签: jquery

我使用以下jQuery代码在页面上的元素之间滚动,从顶部的固定导航栏开始,工作正常,接受顶部的某些文本消失在导航栏后面。如何修改此代码,使其仅滚动到页面顶部(导航栏的高度)的特定距离?

$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
    e.preventDefault();

    var target = this.hash;
    var $target = $(target);

    $('html, body').stop().animate({
        'scrollTop': $target.offset().top
    }, 900, 'swing', function () {
        window.location.hash = target;
    });
});
});

1 个答案:

答案 0 :(得分:1)

如果您不想一直滚动到顶部,只需将所需的偏移量添加到scrollTop

即可。
var height = //<distance to top>;
$('html, body').stop().animate({
    'scrollTop': $target.offset().top + height
}, 900, 'swing', function () {
    window.location.hash = target;
});