Javascript 粘性导航 scrollTo

Javascript Sticky nav scrollTo

所以我得到了这个粘性 header,效果很好我遇到的唯一问题是当我按下 link 并且屏幕向下滚动时它与我的内容重叠所以我需要设置 -47px高度或类似的东西,所以它会滚动到菜单下方而不是菜单下方。

我的代码

$(document).ready(function() {  
var stickyNavTop = $('.header').offset().top;  

    var stickyNav = function(){  
        var scrollTop = $(window).scrollTop();  

        if (scrollTop > stickyNavTop) {   
            $('.header').addClass('sticky');
        } else {  
            $('.header').addClass('sticky');   
        }  
    };  

    stickyNav();  

    $(window).scroll(function() {  
        stickyNav();  
    });  
}); 

$(document).ready(function() {
        var pull        = $('#pull');
            menu        = $('nav ul');
            menuHeight  = menu.height();

        $(pull).on('click', function(e) {
            e.preventDefault();
            menu.slideToggle();
        });
        $(closenav).on('click', function(e) {
            e.preventDefault();
            menu.slideToggle();
        });

        $(window).resize(function(){
            var w = $(window).width();
            if(w > 760 && menu.is(':hidden')) {
                menu.removeAttr('style');
            }
        });
    });

对不起,如果我不够清楚,需要换一种方式解释。 请记住我是JS菜鸟!

谢谢!

var $root = $('html, body');
$('a').click(function() {
    var href = $.attr(this, 'href');
    $root.animate({
        scrollTop: $(href).offset().top -47
    }, 500, function () {
        window.location.hash = href;
    });
    return false;
});

将此添加到您的 $(document).ready(function(){});