@Toster777

Как сделать кнопку «Закрыть меню»?

Имеется такой код для открывающегося меню:
$('div.menu').prepend('<div id="menu-icon">Открыть меню</div>');
    $("#menu-icon").on("click", function(){
    $("ul.menu").fadeToggle();
 });


Как сделать так, чтобы кнопка "menu-icon" при открытии меню сменялась на "Закрыть меню"?
  • Вопрос задан
  • 126 просмотров
Решения вопроса 1
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
$('div.menu').prepend('<div id="menu-icon">Открыть меню</div>');
    
    $("#menu-icon").on("click", function(){
    $("ul.menu").fadeToggle();
     
     $("ul.menu").toggleClass("expanded");
     if ($("ul.menu").hasClass("expanded")) {
        $("ul.menu").html("Закрыть меню");
     } else {
        $("ul.menu").html("Открыть меню");
     }
 });

Ну и поменяйте местами тексты если будет отображаться наоборот.
UPD: Поменял немного код, вместо $this поставил $("ul.menu").
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
slo_nik
@slo_nik
Добрый день.
$("#menu-icon").on("click", function(){
    $("ul.menu").fadeToggle();
    $(this).text('Закрыть меню.')
 });
Ответ написан
Комментировать
@levchak0910
answer.correct ? press({correct: true}) : next()
let open = "Открыть меню";
let close = "Закрыть меню";
$('div.menu').prepend(`<div id="menu-icon">${open}</div>`);
$("#menu-icon").on("click", function() {
    $("ul.menu").fadeToggle();
    $(this).text((i, text) => text == open ? close : open);
});
Ответ написан
Комментировать
.toggleClass()
Менять кнопке класс как вариант по клику, как вариант
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
02 нояб. 2024, в 21:08
2000000 руб./за проект
02 нояб. 2024, в 20:34
40000 руб./за проект