GOOGLE ADS

вторник, 26 апреля 2022 г.

Скрипт для скрытия навигационной панели... не сверху и не снизу прокрутки

Я графический дизайнер с небольшим знанием кода... но это сводит меня с ума...

У меня есть классическая панель навигации, которая скрыта, если пользователь не прокрутит немного вниз. Я получил это действие с помощью 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')
}

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...