@Alk90
php, mysql, jquery, css, html, api

Можно ли изменить липкий элемент после того как он перешел в это состояние?

Всем привет!
Пытаюсь понять работу position: sticky. Оно конечно все понятно, но при условии, что в пока элемент стоит на своем месте, он должен быть прозрачным, как только он поехал вместе со скролом вниз - должен получить некий цвет.
Если бы дело касалось шапки страницы, то тут все просто. Я бы с помощью js проверял бы позицию скрола и если она больше 1 то задавал бы значение background для элемента header. Но как быть, когда неизвестно, где будет находиться элемент. Например такой случай:
https://jsfiddle.net/cokupf83/
Может есть какое-то условие или медиазапрос, о котором я не знаю?
  • Вопрос задан
  • 56 просмотров
Решения вопроса 1
wapster92
@wapster92 Куратор тега CSS
const stickyEl = document.querySelector('.sticky');

window.addEventListener('scroll', e => {
	let corSticky = stickyEl.getBoundingClientRect().top;
  corSticky <= 0 ? stickyEl.style.backgroundColor = 'red' : stickyEl.style.backgroundColor = 'yellow'
});

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

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

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