Я графический дизайнер с небольшим знанием кода... но это сводит меня с ума...
У меня есть классическая панель навигации, которая скрыта, если пользователь не прокрутит немного вниз. Я получил это действие с помощью javascript. ХОРОШО.
Но я хочу, чтобы это происходило (показ панели навигации) только в середине каждой страницы. Например, на расстоянии 100 пикселей от верха и 100 пикселей от низа прокрутки. Причина в том, что у меня есть хлебные крошки сверху и нижний колонтитул внизу страницы, мне не нужна там навигация.
Я изо всех сил старался смешать то, что у меня получилось (панель навигации), с некоторыми детекторами прокрутки или полосами чтения, которые получают положение прокрутки... но было невозможно заставить что-то работать...
¿Любая помощь, пожалуйста?
Мой код сейчас такой, только панель навигации (улучшения тоже приветствуются... хе-хе):
var prevScrollpos = window.pageYOffset;
window.onscroll = function() {
var currentScrollPos = window.pageYOffset;
if (prevScrollpos > currentScrollPos) {
document.getElementById("navbar").style.bottom = "0";
} else {
document.getElementById("navbar").style.bottom = "-100px";
}
prevScrollpos = currentScrollPos;
}
Решение проблемы
Если я правильно вас понял, я считаю, что вы хотите что-то вроде этого:
window.onscroll = () => {
const scrollPos = window.scrollY;
const offset = 100; const targetEl = document.body; //Adjust to preference
if(scrollPos > offset && (targetEl.scrollHeight - window.innerHeight - scrollY) > offset )
console.log('shownavbar')
else
console.log('hidenavbar')
}
Комментариев нет:
Отправить комментарий