2014-02-20 6 views
1

С целью создания мобильной навигационной кнопки я хочу, чтобы ссылка нажала (показать меню), добавляет активный класс, а затем, когда вы снова нажмете SAME link (свернуть меню), он удалит класс.Переключить класс на одиночную ссылку?

$(function() { 
    $(".nav-mobile").click(function() { 
     $(".nav-mobile").removeClass("active"); 
     $(this).addClass("active"); 
    }); 
}); 

Это добавляет активный класс при щелчке, но не удаляет его при повторном нажатии.

Можно ли его удалить?

+1

, кажется, что это не имеет смысла сценарий. вы удалили класс и добавили его снова! –

+0

Ссылка открывает меню, я хочу, чтобы класс указывал, что меню открыто, изменив его цвет, затем нажмите, чтобы закрыть его снова и его не тот цвет, следовательно, не открыть. – user4630

+0

Вы добавляете его снова после удаления – timo

ответ

2

Вы можете использовать функцию toggleClass() в jQuery. Он делает именно то, что вы хотите.

Проверьте апи документ: https://api.jquery.com/toggleClass/

+0

Спасибо, это сработало отлично. Я пытался переключиться раньше, и это не сработало, из этого примера. – user4630

+0

Добро пожаловать. –

1

Используйте этот код вместо:

$(function() { 
    $(".nav-mobile").click(function() { 
     $(".nav-mobile").not(this).removeClass("active"); 
     $(this).toggleClass("active"); 
    }); 
}); 
0

Попробуйте

$(function() { 
    $(".nav-mobile").click(function() { 
     var $this = $(this); 
     if($this.hasClass('active')) { 
      $this.removeClass('active'); 
     } else { 
      $(".nav-mobile").removeClass("active"); 
      $this.addClass("active"); 
     } 
    }); 
}); 
Смежные вопросы