Javascript粘性导航滚动

时间:2015-03-08 12:44:21

标签: javascript header sticky

所以我得到了这个粘性标题非常有用我唯一的问题就是当我按下一个链接并且屏幕向下滚动它与我的内容重叠时所以我需要设置一个-47像素的高度或类似的东西所以#it滚动低于菜单而不是低于菜单。

我的代码

$(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新手!

谢谢!

1 个答案:

答案 0 :(得分:1)

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(){});

中添加此内容