Задать вопрос
@pashabomber

Как сделать, чтобы открытая выпадашка закрывалась при открытии следующей?

Добрый день!

На сайте есть такой блок:

<div class="item">открыть</div>
<div class="sub">выпадашка 1</div>
<div class="item">открыть</div>
<div class="sub">выпадашка 2</div>


По умолчанию блоки с классом "sub" скрыты. По клику на "item" следующему блоку "sub" добавляется доп-класс, с которым выпадашка становится видна:
$('.item').click(function() {
            $(this).next('.sub').toggleClass('opened');
        });


Задача в том, чтобы, если мы открыли одну из выпадашек, а после этого открываем другую - первая должна обратно закрыть (убирается класс opened).

Заранее спасибо!
  • Вопрос задан
  • 318 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@IceJOKER
Web/Android developer
$('.item').click(function() {
     $('.opened').removeClass('opened');
     $(this).next('.sub').toggleClass('opened');
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
$('.item').click(function() {
            $('.sub').removeClass('opened');
            $(this).next('.sub').toggleClass('opened');
        });
Ответ написан
Комментировать
@GreatRash
$('.item').on('click', function(e) {
  var $this = $(this).next('.sub');
  
  $('.sub').not($this).removeClass('opened');
  $this.toggleClass('opened');
});

codepen.io/GreatRash/pen/wWAOLW
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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