大家好, 我有标题和侧面菜单。每次滚动和页眉不在视口中时,我都会固定侧边菜单,更改其顶部位置并将其淡入和淡出。问题是,每次我滚动时都会触发淡入淡出功能。我做了一个简单的逻辑,因此如果状态与以前相同,则函数不应触发:
var isDown = false;
var test;
window.onscroll = function() {fixedOnScroll()};
var header = document.getElementById("header");
var sticky = header.offsetTop;
function fixedOnScroll() {
if (window.pageYOffset > sticky) {
moveSideMenu(true,isDown);
} else {
moveSideMenu(false,isDown);
}
}
function moveSideMenu(isScrolled, isDown){
test=isScrolled;
if(isDown!=test){
isDown=test;
$("#sideMenu").fadeOut(500,function(){
$("#sideMenu").fadeIn(500,function(){
test==true?$("#sideMenu").css({
'top' : '180px',
'position' : 'fixed'})
:$("#sideMenu").css({
'top' : '0px',
'position' : 'absolute'});
});
});
}
}
它仍然不起作用。我想念什么?这是我的测试小提琴: https://jsfiddle.net/e5qaD/10541/