87,910
社区成员
发帖
与我相关
我的任务
分享
@keyframes slideDown{
from{top: -60px; opacity: 0;}
20%{top: -48px; opacity: .2;}
40%{top: -36px; opacity: .4;}
60%{top: -24px; opacity: .6;}
80%{top: -12px; opacity: .8;}
to{top: 0px; opacity: 1;}
}
@keyframes slideUp{
from{top: 0px; opacity: 1;}
20%{top: -12px; opacity: .8;}
40%{top: -24px; opacity: .6;}
60%{top: -36px; opacity: .4;}
80%{top: -48px; opacity: .2;}
to{top: -60px; opacity: 0;}
}
.slideUp{animation: slideUp .3s ease-in-out;}
.slideDown{animation: slideDown .3s ease-in-out;}
.navbar-fixed-top.slideUp{position: fixed; top: -60px;}
.navbar-fixed-top.slideDown{position: fixed; top: 0px;}
.navbar-fixed-top{
position: fixed;
top: 0;
height: 60px;
width: 100%;
background-color: #06343C;
}
html部分
<div class="navbar-fixed-top"></div>
<div style='height: 2000px; width: 100%;'></div>
<div style='text-align: center;'>我在底部</div>
jquery部分
$(function() {
var currTop = 0, //当前位置
initTop = 0; //初始位置
$(window).scroll(function() {
currTop = $(window).scrollTop();
if (initTop > currTop && currTop <= 300 && initTop > 300)
//判断滚动条运动方向,初始位置值 > 当前当前位置 && 滚动条位置<=300 && 初始位置大于300
$('.navbar-fixed-top').removeClass('slideUp').addClass('slideDown');
if (currTop > 300)
//滚动条位置 > 300
$('.navbar-fixed-top').removeClass('slideDown').addClass('slideUp');
setTimeout(function() {initTop = currTop}, 0);
})
});