Задать вопрос
@YanaLins
web

Как определить, что блок находится в центре viewport, используя IntersectionObserver?

Механика как должно работать:
  1. пользователь скроллит страницу сверху вниз: при попадании блока во viewport (внизу страницы) фон затеняется. Пользователь скроллит дальше, когда блок находится в середине экрана, затенение пропадает.
  2. пользователь скроллит страницу снизу вверх: при попадании блока во viewport (вверху страницы) фон затеняется. Пользователь скроллит дальше вверх, затенение пропадает, когда блок оказывается в середине экрана.

Не получается прописать условие, используя IntersectionObserver, чтобы затенение пропадало, когда блок в центре.
Сейчас блок пропадает только когда срабатывает threshold.
В центре он не срабатывает, поэтому не удается засечь пересечение центра.
И rootMargin readOnly, динамически не изменить.

https://jsfiddle.net/YanaLins2017/omfuapq4/
  • Вопрос задан
  • 262 просмотра
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
@historydev Куратор тега JavaScript
long long long long long .... int
Пригласить эксперта
Ваш ответ на вопрос

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

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