Javascript 滚动上的jQuery向下滑动菜单

Javascript 滚动上的jQuery向下滑动菜单,javascript,jquery,Javascript,Jquery,当我向下滚动页面时,如何使jQuery平滑地向下滑动 如本页所示: 我正在使用此代码,它可以工作,但不平滑,不向下滑动,只是看起来没有效果: var bar = $('div.navbar'); var top = bar.css('top'); $(window).scroll(function() { if($(this).scrollTop() > 100) { bar.stop().addClass('navbar-fixe

当我向下滚动页面时,如何使jQuery平滑地向下滑动

如本页所示:

我正在使用此代码,它可以工作,但不平滑,不向下滑动,只是看起来没有效果:

var bar = $('div.navbar');
    var top = bar.css('top');
    $(window).scroll(function() {
        if($(this).scrollTop() > 100) {
            bar.stop().addClass('navbar-fixed-top').animate({'top' : '0px'}, 500);
        } else {
            bar.stop().removeClass('navbar-fixed-top').animate({'top' : top}, 500);
        }
    });

实现这一点的一种方法是首先保持元件0px的高度,然后根据需要增加高度

检查这把小提琴:-我用css做了同样的效果。我想你将它转换成javascript不会有任何问题

HTML

<div class="outer">
    <div class="inner">
        <div>
</div>
给你(像这样的东西)

将一个复制导航条固定在顶部,高度为0px

.duplicateNavbar{
   display:fixed;
   top:0px;
   height:0px;
}

    $(window).scroll(function() {
        if($(this).scrollTop() > 100) {
            $('.duplicateNavbar').animate({'height' : '56px'}, 500);
        } else {
            $('.duplicateNavbar').animate({'height' : '0px'}, 500);
        }
    });

实现这一点的一种方法是首先保持元件0px的高度,然后根据需要增加高度

检查这把小提琴:-我用css做了同样的效果。我想你将它转换成javascript不会有任何问题

HTML

<div class="outer">
    <div class="inner">
        <div>
</div>
给你(像这样的东西)

将一个复制导航条固定在顶部,高度为0px

.duplicateNavbar{
   display:fixed;
   top:0px;
   height:0px;
}

    $(window).scroll(function() {
        if($(this).scrollTop() > 100) {
            $('.duplicateNavbar').animate({'height' : '56px'}, 500);
        } else {
            $('.duplicateNavbar').animate({'height' : '0px'}, 500);
        }
    });

尝试将顶部值设置为负值,并将其动画设置为0px

bar.stop().addClass('navbar-fixed-top').css('top','-50px').animate({'top' : '0px'}, 500);
看我的小提琴:

尝试将顶部值设置为负值,并将其动画设置为0px

bar.stop().addClass('navbar-fixed-top').css('top','-50px').animate({'top' : '0px'}, 500);
看我的小提琴:

谢谢!!我在动画方法之前缺少了:.css('top','-50px')。谢谢!!在animate方法之前,我缺少:.css('top','-50px')。