@hello-world-1

Почему блок не сворачивается?

Здравствуйте. Изучаю jQuery и возникла проблема. Все работает как надо, но при повторном клике на элемент, чтобы его закрыть, ничего не происходит. Объясните в чем проблема, пожалуйста. Рабочий пример здесь — https://jsfiddle.net/gbuodsqp/

<div class="item">
  <div class="btn">Меню 1</div>
  <div class="menu">Меню 1 работает</div>
</div>
<div class="item">
  <div class="btn">Меню 2</div>
   <div class="menu">Меню 2 работает</div>
  </div>
</div>
<div class="item">
  <div class="btn">Меню 3</div>
  <div class="menu">Меню 3 работает</div>
</div>

.item.active .menu{display:block}
.btn{background:red;margin-bottom:10px;padding:10px;cursor:pointer}
.menu{display:none;background:green;margin-bottom:10px;padding:5px}

$('.btn').click(function(){
$('.item').removeClass('active');
$(this).parent('.item').toggleClass('active');
});
  • Вопрос задан
  • 165 просмотров
Решения вопроса 1
vladchv
@vladchv
WordPress Developer
Логика такая:
$(".btn").click(function () {
  $(this).parent().prevAll().find(".menu").removeClass("active");
  $(this).parent().nextAll().find(".menu").removeClass("active");
  $(this).next().toggleClass("active");
});

.menu.active {
  display: block;
}

Хз насколько синтаксис красив, но работает)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
XPOWER Одесса
от 3 000 до 5 500 $
04 мар. 2021, в 15:49
500 руб./в час
04 мар. 2021, в 15:42
8000 руб./за проект