我只是想在用户向下滚动时在滚动时淡入一个元素(#topNav),然后当用户向上滚动并点击 scrollTop 时,将其淡出。向下滚动时淡入;向上滚动时淡出。
但是,它在两个方向上都在消失吗?
我究竟做错了什么?
function scrollFunc(e) {
if ( typeof scrollFunc.x == 'undefined' ) {
scrollFunc.x=window.pageXOffset;
scrollFunc.y=window.pageYOffset;
}
var diffX=scrollFunc.x-window.pageXOffset;
var diffY=scrollFunc.y-window.pageYOffset;
if(diffX<0){
// Scroll right
}
else if(diffX>0){
// Scroll left
}
else if(diffY<0){
// scroll down
$('#topNav').fadeIn();
}
else if(diffY>0){
// Scroll up
if(document.body.scrollTop === 0){
//reached top
$('#topNav').fadeOut();
}
}
else{
// First scroll event
$('#topNav').css('position','fixed').show().fadeIn();
}
scrollFunc.x=window.pageXOffset;
scrollFunc.y=window.pageYOffset;
}
window.onscroll=scrollFunc;