javascript scrollTop изменение классов в зависимости от положения на странице

0

Я пытаюсь создать активное состояние навигации по странице в зависимости от того, где вы находитесь на странице.

это то, что у меня есть до сих пор....

$(window).scroll(function () {
var scroll = $(window).scrollTop();

if (scroll >= 0) {
    $(".nav1").addClass("active");
} else if (scroll >= 500) {
    $(".nav1").removeClass("active");
    $(".nav2").addClass("active");
} else {
    $(".active").removeClass("active");
}});

но не работает должным образом

Теги:
scrolltop

1 ответ

0

$(window).scrollTop(); не может быть отрицательным. Таким образом, ваш код всегда будет выполнять первый if statement. Вот этот

 if scroll >= 0) {
    $(".nav1").addClass("active");
 }

Остальная часть вашего кода никогда не будет выполнена.

Попробуйте разделить свои if statements.

if (scroll >= 0) {
    $(".nav1").addClass("active");
} 
if (scroll >= 500) {
    $(".nav1").removeClass("active");
    $(".nav2").addClass("active");
} else {
    $(".active").removeClass("active");
}});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню