@Code-NaN

Как добавить плавное удаление класса?

Как плавно скрывать меню при скролле от 800px (в этой точке резко убирается класс, не получается добиться плавности скрытия).
Если делать через setTimeout, моргает в промежутке от 0 до 800.

Песочница: jsfiddle.net/sp_true/nh9o24td/3
  • Вопрос задан
  • 154 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Lorelin
Student web
может сделать плавный скролл стр?
Ответ написан
Комментировать
@Code-NaN Автор вопроса
Хм, тогда такой вопрос: Как в промежутке от 0 до 800px убрать переход от 100px к 0 и -100px в меню?

В точке 800 начинает меню "прыгать" при скролле

function AnimationNav(elem) {
        var navBar = $(elem); //Targets nav element
        var myWindow = $(window);
        var myPosition;
        var navScroll;
        var MenuHeight = $('.head-menu').outerHeight();
        $('.head-menu').css({ height: MenuHeight})

        window.addEventListener('scroll', function(e) {
            navScroll = myWindow.scrollTop();
            if (navScroll < myPosition && navScroll >= 800) {
                setTimeout(function(){
                navBar.css({top: 0 }).addClass('visible')
                console.log('Больше 800')
                }, 400);
            }
            else {
                navBar.css({top: -100})
                console.log('Вниз')
            }
            myPosition = myWindow.scrollTop();
            if (myPosition <= 800) { //hide  zone
                navBar.css({top: -100 })
                setTimeout(function(){
                    // navBar.removeClass('visible')
                }, 800);
                console.log('От 0 до 800')
            }
        }); 
    }
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы