每次滚动时,滚动事件都会触发淡入淡出功能

时间:2018-09-05 09:15:20

标签: jquery scroll logic fade eventtrigger

大家好, 我有标题和侧面菜单。每次滚动和页眉不在视口中时,我都会固定侧边菜单,更改其顶部位置并将其淡入和淡出。问题是,每次我滚动时都会触发淡入淡出功能。我做了一个简单的逻辑,因此如果状态与以前相同,则函数不应触发:

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/

0 个答案:

没有答案