@luckyjenro0

Почему некорректно работает данный код?

Имеется данный код:

var header = $(".header");

        let isScroll = 0, // доп. проверка
            targetScroll = 100; // расстояние до действия / в px

        $(window).on("scroll", function() {
            if (isScroll === 0 && $(this).scrollTop() >= targetScroll) {
                var lastScrollTop = 0;

                $(window).scroll(function(event) {
                    var posit = $(this).scrollTop();

                    if (posit > lastScrollTop) {
                        header.css("margin-top", "-78px");
                    } else {
                        header.css("margin-top", "0px");
                    }
                    lastScrollTop = posit;
                });
            } else if (isScroll === 1 && $(this).scrollTop() < targetScroll) {
            //sleep...
            }
        });


Тут идет условия что код выполняется если scroll от верха больше 100px, далее в коде видно что если скролл идет вверх - то ставим margin-top 0px, если вниз - margin-top -78px; Но это не работает, событие вверх как будто не существует, ХОТЯ когда я поставлю console.log up/down то все выводит корректно.

Так же при логирование заметил что при скролле вверх после логов появляется консоль.лог что я скроллил вниз
  • Вопрос задан
  • 167 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 20:43
20000 руб./за проект
19 апр. 2024, в 20:11
500 руб./за проект