blackseabreathe
@blackseabreathe
brackets

Как сделать прокрутку содержимого липкого блока если его высота больше высоты браузера?



Набросал такой липкий блок. Сразу скажу что плагины, пожалуйста, не предлагайте, не хочу их использовать, да и не нужны они тут.

Сейчас при достижении скролла до верха сайдбара ему дадим класс sticky, который имеет свойство position: fixed и если при скроллинге снизу окна браузера появится нижняя часть родителя (offsetBottom), то у сайдбара уберем класс sticky и добавим ему свойство top со значением = высота родителя - высота окна браузера - сайбрар offset().top + родителя offset().top (но это все мелочи)

Сейчас хотел бы попросить помощи чтобы понять как можно дописать условие так чтобы (сложно объяснить на пальцах) если при скроллинге высота сайдбара больше высоты окна браузера (например фильтров не видно, не влезают на весь экран), то мы не добавляем класс sticky, а ждем пока проскроллится до низа сайдбара и только тогда фиксируем его, но когда мы листам вверх, то ждём пока появится верх сайдбара и только тогда фиксируем его.

Наглядные примеры итога - сайдбары Вк, Фб или вот ссылка на плагин https://abouolia.github.io/sticky-sidebar/#examples пример номер 2 "Scrollable Sticky Element" надеюсь понятно объяснил как в итогу должно работать, весь вечер парюсь как же сделать, в гугле ответов на похожие вопросы не нашел
  • Вопрос задан
  • 28 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы