Подсвечивать раздел в меню чаще всего приходится применять в landing page (посадочной странице) т.к. как правило в них меню не что иное как переход по разделам на этой странице. Данная фишка поможет пользователю понять где в текущий момент он находится на странице. И так по старинке покажу  код, а дальше все объясню.

Подсветка раздела в меню при скролле сайта

Создадим простенькую схему дабы можно было посмотреть как это работает

тут вроде все должно быть ясно. Блок div выступает в качестве меню ссылки 1, 2, 3 разделы меню. Соответсвенно div1, div2, div3 разделы на сайте при прокрутки которых будет подсвечиваться тот или иной раздел. Теперь js код:

И так, первое что мы делаем тут отслеживаем скролл сайта, при выполнении его запускаем функцию для каждого элемента «a» в нашем меню.

Смотрим положение окна на сайте и сохраняем ее в переменную window_top.

Получаем значение href у каждой ссылки ( мы ведь помним что функция запускается для каждого элемента меню)

И получаем значение расположения блока на странице, точнее его высоту.

Далее проверяем больше ли значение текущего положения окна чем значение блока (в данном примере не приведен css код, но у меня меню с положением fixed и высотой 100px поэтому вычитаем данную высоту дабы положение было относительно нижней точки меню). А дальше все просто убираем класс active у ссылок и добавляем ее только той ссылки у которой совпадает значение href с текущим блоком. Если нет такого блока то просто удаляем все ссылки.