Есть вот такой код для кнопки меню:
var mainBurgerMenu = $('.main-burger-menu'),
bulletsContainer = $('.bullets-container'),
slideContent = $('.slide-content'),
overfloWrapper = $('.overflow-wrapper');
$('#burger-top').click(function(e) { //открытие главного меню
slideContent.css({transform: 'translateX(-60%)'})
overfloWrapper.addClass('overflow-wrapper--hidden');
mainBurgerMenu.css({width: '60%'});
bulletsContainer.css({display: 'none'});
bodyPage.css({'overflow-y': 'hidden'});
e.preventDefault();
});
$('#close-btn-nav').click(function(e) { //закрытие главного меню
slideContent.css({transform: 'translateX(0)'})
overfloWrapper.removeClass('overflow-wrapper--hidden');
mainBurgerMenu.css({width: '0'});
bulletsContainer.css({display: 'flex'});
bodyPage.css({'overflow-y': 'auto'});
e.preventDefault();
});
И есть вот такой для липкого меню (по дефолту меню должно скрываться при скролле вниз, а появляться при скролле вверх):
var topNavigation = document.querySelector('#nav-wrapper');
var prevPosition = 700;
function onScroller() {
var st = $(this).scrollTop();
if (st > prevPosition) {
topNavigation.classList.add('top-nav-menu-close');
} else {
topNavigation.classList.remove('top-nav-menu-close');
}
prevPosition = st;
}
document.addEventListener('scroll', onScroller);
Пояснение
По началу второй скрипт работает как нужно. Но после открытия и закрытия меню (первого скрипта), он перестает работать как нужно (начинает показывать меню только когда offset.top = 0).
Вот
код