@jesus-iscariot

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

Нужно, чтобы когда пользователь проскроллил ниже верха страницы, шапка становилась полупрозрачной. Подскажите, как это можно сделать (потому что видел подобное на многих сайтах).
  • Вопрос задан
  • 1079 просмотров
Решения вопроса 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')
  }
})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы