如何在向上滚动时重置scrollTop()div定位?

时间:2015-12-03 15:46:03

标签: javascript jquery html css

我有一个固定导航,我在155px滚动高度改变徽标的大小并改变了li的位置。一切都很完美,但当我向上滚动时它不会重置。我是否需要为此做出更大的功能?欢迎任何建议,谢谢:)

这里是jquery:

$(document).scroll(function(){
            if ($(this).scrollTop()>155){
                $('.logo-nav').stop().animate({ height: 70 },20);
            } else {
                $(".menu li").addClass("nav-scroll");
                $('.logo-nav').stop().animate({ height: 145 },20);
            }
        }); 

这是css:

li {
    display: inline-block;
    margin: 0;
    position: relative;
    top: 45px;
    -webkit-transition: all .4s ease;
    -moz-transition: all .4s ease;
    -o-transition: all .4s ease;
    transition: all .4s ease;
}
.nav-scroll {
    top: auto;
}

1 个答案:

答案 0 :(得分:4)

使用$(window)而不是$(document)

$(window).scroll(function() {
    if ($(this).scrollTop() > 155){
        $('.logo-nav').stop().animate({ height: 70 },20);
    } else {
        $(".menu li").addClass("nav-scroll");
        $('.logo-nav').stop().animate({ height: 145 },20);
    }
});

并确保将其括在$(document).ready()函数中。