Intersection Observer для первого элемента во viewport'е

191
09 февраля 2020, 04:20

Есть вот такой референс:

Суть эффекта - на странице показаны года и какой-то контент (текст) к ним. При скролле страницы, выбирается самый первый из них, находящийся в области видимости, и к нему добавляется класс, на котором завязаны стили для его выделения.

Хочу реализовать его с помощью Intersection Observer.

В голову приходит только добавление класса заголовкам, находящимся в поле видимости (in-viewport), с помощью IO, а затем через каждые 50-100мс обновлять список всех активных заголовков и только первому в списке добавлять еще один класс (active), на котором уже завязаны стили для самого эффекта.

Возможны ли еще какие-то решения? Нужна помощь не столько в коде, сколько в правильном выборе подхода решения задачи.

READ ALSO
VueJS спарсить HTML

VueJS спарсить HTML

Есть страница со списком товаров, которые генереруются на PHP Хочу на JS собрать все необходимые данные по каждому товару: название, цена и другиеПотом...

207
CryptoPro ошибка spki.algorithm.parameters

CryptoPro ошибка spki.algorithm.parameters

При переходе на новый алгоритм шифрования ГОСТ Р 3410-2012 256 сервер начал выдавать ошибку spki

182
Для чего нужно поле ConcurrencyStamp таблицы AspNetUsers в identity?

Для чего нужно поле ConcurrencyStamp таблицы AspNetUsers в identity?

Внимание! Это перевод вопроса What is the purpose of the ConcurrencyStamp column in the AspNetUsers table in the new ASPNET MVC 6 identity?

187