Как узнать какой блок на странице находится в области видимости экрана пользователя?
будь хакиром, делай по-модному
https://developer.mozilla.org/en-US/docs/Web/API/I...snippet
Тут вот был вопрос, как реализовать похожий функционал. (вроде совпадает с вашими потребностями)
Как реализовать скролл элементов сайдбара?
Я там дал ссылку на скрипт js который в теории это делает