@mikilikala
На фронте

Не закрывается div, если по нему кликнуть повторно?


https://codepen.io/roderen/pen/JjLGxEg?editors=1111

Если нажать по select-main, то открывается блок. Но если нажать повторно на один и тот же select-main, то блок обратно не закрывается. Как решить?
  • Вопрос задан
  • 67 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
В обработчике клика сначала всем удаляется класс active,
а только затем проверяется, по кому кликнули, и если убранного класса нет – он добавляется.

Так при клике мгновенно удаляется-добавляется назад этот класс.

Можно было бы удалять в начале не всем подряд, а всем, кроме себя.
А для самого блока добавить вариант, что класс уже есть – тогда его убрать.

Но вообще это некруто – полагаться на наличие/отсутствие классов. Лучше держать где-то данные — какой именно блок открыт. И в зависимости от этого отрисовывать интерфейс.

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

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

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