jQuery addClass работает по второму щелчку, а не по первому

#jquery #addclass

#jquery #addclass

Вопрос:

У меня есть меню, которое охватывает несколько разделов, я перемещаюсь между разделами, щелкая изображение под меню (маленький кружок), и мне нужно, чтобы это изображение изменилось на «активный» класс, чтобы указать, какой раздел просматривает пользователь. Однако при первом щелчке изменяется div, но «активный» класс добавляется до второго щелчка. Мне также нужно, чтобы первый круг был активным при открытии меню, но я могу сделать это непосредственно в HTML, я полагаю.

Соответствующая часть кода будет:

 $(".cubierta1").click(function () {
    $(".nav a").removeClass("active");
        $(this).addClass("active");
    $("div[id$=_options]").css("visibility", "hidden");
    $('#cubierta1_options').css("visibility", "visible");
});
  

И вы можете увидеть пример здесь. Нажмите на первый квадрат, чтобы увидеть меню.

Что мне нужно изменить, чтобы оба события запускались при первом щелчке?

Спасибо за вашу помощь.

Комментарии:

1. Есть ли у вас какие-либо другие события щелчка, назначенные элементам $(‘.nav a’)?

2. @leo.vingi. Нет, только этот.

Ответ №1:

Есть два nav divs, один расположен поверх другого. Когда вы нажимаете на одну из ссылок внутри a nav div , она приобретает active класс, а затем сразу же скрывается. То, что вы видите после щелчка, — это другое nav div , в котором отсутствует active кнопка.

Вам нужно избавиться от одного из nav divs и поместить оставшийся вне cubierta1_options , или добавить active класс ко всем cubierta1 ссылкам.