@onegin_evgen

Не работает подсветка пунктов меню при скролле. В чём моя ошибка?

Есть скрипт для подсветки активных пунктов меню при ссылках на якоря:
jQuery(function ($) {
    $(window).scroll(function(){
        $(".metka").each(function () {
            var window_top = $(window).scrollTop();
            var div_top = $(this).offset().top;
            var div_1 = $(this).attr('id');
            
            if (window_top > div_top - 120) {
                $('#smenu').find('a').removeClass('uMenuItemA');
                $('#smenu').find('a[class="'+div_1+'"]').addClass('uMenuItemA');
            } else {
                $('#smenu').find('a[class="'+div_1+'"]').removeClass('uMenuItemA');
            };
        });
    });
});

Его суть в том, что при прокрутке у первого пункта меню удаляется класс uMenuItemA и добавляется к пункту меню, ссылка которого ведет на блок, отображаемый в данный момент на странице.

Так вот, скрипт удаляет класс, а к следующему пункту меню почему-то не подставляет его. То есть, вот эта строчка выполняется:
$('#smenu').find('a').removeClass('uMenuItemA');
А дальше нет.

мой сайт

В чем ошибка?
  • Вопрос задан
  • 3410 просмотров
Пригласить эксперта
Ответы на вопрос 2
@lnked
Ответ написан
Комментировать
@onegin_evgen Автор вопроса
я делал по примеру
сначала сделал так как вы описали, но тоже не работало, потом идентично примеру и стало только удалять класс меню
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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