我有一个固定导航,我在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;
}
答案 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()
函数中。