@Ffinnis

Как сделать так, чтобы при нажатие на кнопку отображалось только то меню, к которому оно относится?

Мне нужно добиться того, чтобы при нажатии на кнопку ul принимала display: flex. Я это осуществил, но криво, и теперь открываются все ul становятся flex, вместо одной. Я искал информацию и понял, что, скорее всего, надо использовать target и addEventListener, но испробовав довольно много гайдов у меня ничего не получилось, в связи с чем, я прошу о помощи!

Мой код:
<ul class="programm__list-item__sublist">
						<li class="programm__list-item__sublist-item">
							Урок №1. Исследование рынка
						</li>
						<li class="programm__list-item__sublist-item">
							Урок №2. Product маркетинг FIT
						</li>
						<li class="programm__list-item__sublist-item">
							Урок №3. Инструкция по работе с подрядчиками
						</li>
</ul>


function clickBtn(){
    $('.programm__list-item__btn').click(function(event){
        $('.programm__list-item__btn,.programm__list-item__sublist').toggleClass('active');
    });
};

$(clickBtn);


Надеюсь, что кто-нибудь мне поможет, я буду безмерно благодарен за любую попытку помочь
  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
@syntaxorange
function clickBtn() {
    var $btn = $('.programm__list-item__btn');
    var $sublist = $('.programm__list-item__sublist');

    $btn.click(function(event) {
        var $target = $(event.currentTarget);
        var $dropdown = $target.next();

        $btn.not($target).toggleClass('active', false);
        $sublist.not($dropdown).toggleClass('active', false);
        $target.toggleClass('active', true);
        $dropdown.toggleClass('active', true);
    });
};

clickBtn();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы