letehaha
@letehaha
Вникаю вo front-end

Как отображать меню при скролле вверх?

Хочется реализовать меню в хедере как вот здесь. Я сделал, что бы при скролле вниз меню пряталось (эффект в хедере страницы). Вот:
var topNavigation = document.querySelector('#nav-wrapper');

function hideTopNav(e){
	if(document.body.scrollTop > 300){
		topNavigation.style.transform = 'translateY(-90px)';
	} else{
		topNavigation.style.transform = 'translateY(0)';
	}
};

document.addEventListener('scroll', hideTopNav);


Но я не знаю как сделать эффект этого меню на всей остальной странице. Т.е. что бы при скролле вверх меню появлялось, а при скролле вниз оно скрывалось. И что бы это ещё не конфликтовало с эффектом в хедере страницы.
  • Вопрос задан
  • 293 просмотра
Решения вопроса 1
nuclear_kote
@nuclear_kote
var prevPosition = 0;
document.addEventListener('scroll', onScroll);

function onScroll() {
   if (document.body.scrollTop > prevPosition) {
     menu.removeClass('menu-open');
   } else {
     menu.addClass('menu-open');
   }
   prevPosition = document.body.scrollTop;
}


как вариант
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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