на кнопку класс закрытия убирался и добавлялся класс открытия и наоборот. Как это нужно реализовать ?
Если тебе нужно что бы при первом нажатии работало одно ,а при втором другое. То это можно сделать так происходит первое нажатие ты добавляешь к переменной 1 происходит второе отнимаешь один. И добавляешь проверки: функция для первого клика срабатывает тогда когда переменная равна 0 и когда переменная равна 1 то срабатывает функция для второго клика
btn.addEventListener(“click”, function() { this.classList.toggle(“class”); })
У кнопки стоит класс close по дефолту. При клике добавляется класс кнопке open срабатывает анимация и также добавляется класс open и меню и тоже срабатывает анимация и наоборот если у кнопки стоит класс опен и у меню тоже при клике должно поменяться на close. То есть при клике на кнопку меняется класс close и у кнопки и у меню и если открыто меню должно и у кнопки у меня сменится класс на close
вместо this любой элемент
тогл не сработает поскольку при закрытии и открытии отрабатывают разные анимации и эти анимации прописаны в css поэтому при смене класса будут отрабатывать разные анимации
используй close как стандартное состояние кнопки, а при open всё необходимое
Очень трудно я отхожу от дел
так и прописано. просто анимации при закрытии не будет если использовать тогл потому что тогл будет только добавлять или убирать класс который я пропишу а это класс откртытия
используй всего два toggle на два элемента, чего сложного то? Код на 4-5 строк
у тебя есть два класса open/close, тебе нужно просто убрать close и установить его значение в саму кнопку и меню по дефолту, а open же сделает всё необходимое через toggle
Одна анимация смещает плавно кнопку вправо это класс open, анимация close возвращает кнопку на своё место тоже плавно это класс close. тогл добавит класс open и анимация плавно отработает, но при закрытии тогл просто уберёт open и кнопка резко вернётся обратно без анимации
так это уже дело не в open/close а в отсутствии transition в самом элементе
класс close имеет анимация slideLeft, класс open имеет анимацию slideRight и поэтому важно заменить эти классы потому что они оба выполняют функцию смещения
понятно btn.addEventListener(“click”, function() { this.classList.toggle(“open”); this.classList.toggle(“close”); menu.classList.toggle(“open”); menu.classList.toggle(“close”); }); тут уже всё сработает в зависимости от приоритетов классов
в баттонс добавляется лишний класс
Работает, сори
Я прощаю тебя
Обсуждают сегодня