@jesus-iscariot

Как сделать, чтобы при скролле до определённого блока менялся стиль у шапки?

Нужно, чтобы когда пользователь проскроллил ниже верха страницы, шапка становилась полупрозрачной. Подскажите, как это можно сделать (потому что видел подобное на многих сайтах).
  • Вопрос задан
  • 1074 просмотра
Решения вопроса 1
Eugevin
@Eugevin
22 года, frontend как смысл жизни
Обычно для решения этой задачки вешают event на scroll по отношению к window. А потом с помощью getBoundingClientRect узнают расстояние нужного блока относительно viewport и считают.

Если нужно сделать "когда пользователь проскроллил ниже верха страницы", то все еще проще:

const header = document.querySelector('.test') // вместо test класс твоего хэдера

window.addEventListener('scroll', () => {
  if (pageYOffset > 0) {
    header.classList.add('header_active') // твой класс для прозрачности, но можно и header.style.opacity = 0.5;
  } else {
    header.classList.remove('header_active')
  }
})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 17:06
15000 руб./за проект
19 апр. 2024, в 16:53
1000 руб./за проект
19 апр. 2024, в 16:45
5000 руб./за проект