Событие прокрутки вызывает функцию исчезновения при каждой прокрутке - PullRequest
0 голосов
/ 05 сентября 2018

Добрый день yall, У меня есть заголовок и боковое меню. Каждый раз, когда я прокручиваю и заголовок отсутствует в окне просмотра, я исправляю боковое меню, меняю его верхнюю позицию и постепенно увеличиваю и уменьшаю. Проблема в том, что функция затухания срабатывает каждый раз, когда я прокручиваю. Я сделал простую логику, поэтому функция не должна срабатывать, если состояние такое же, как и раньше:

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/

...