Jquery: Показать / скрыть меню с помощью одной кнопки

Я пытаюсь сделать кнопку, которая вызывает меню. После вызова меню нажатие на кнопку должно закрыть меню.

Есть также некоторые классы, которые должны быть добавлены в меню / кнопку, чтобы помочь со стилем.

Как я могу это сделать? (Я использую jQuery 1.8.3.)

Это мой код:

$(function() {
    "use strict";
    $(document).on('click', '.anchor', function() {

        $('.ui-tapmenu').removeClass("animated bounceInDown");
        $('.ui-tapmenu').hide();
        $('.overlay').hide();
        var menuId = $(this).data('menu');
        var menuName = '.' + menuId;
        $(".loading").delay(1000).show(0);
        $(menuName).addClass("animated bounceInDown");
        $(menuName).show();
        $(this).addClass('close jq-close');
    });

    $('body').on('click', '.close', function() {
        $(this).addClass('anchor');
        $(this).removeClass('close');
        $('.ui-tapmenu').removeClass("animated bounceInDown");
        $('.ui-tapmenu').hide();
        $('.overlay').hide();
        $('.anchor.jq-close').removeClass('close');
    });

});

JS Fiddle:http://jsfiddle.net/big_smile/d4ajx/

Проблема: это работает, но когда меню закрыто, открытый код обновляется, поэтому меню остается постоянно открытым. Я не уверен, почему это происходит, так как при запуске «открытого кода» он добавляет класс к триггеру. «Код закрытия» работает только в этом классе, поэтому «открытый код» не должен запускаться снова.

Вот другая версия:

$(function() {
    "use strict";
    $(document).on('click', '.anchor', function() {

        $('.ui-tapmenu').toggleClass("animated bounceInDown");
        $('.ui-tapmenu').toggle();
        $('.overlay').toggle();
        var menuId = $(this).data('menu');
        var menuName = '.' + menuId;
        $(".loading").delay(1000).toggle(0);
        $(menuName).toggleClass("animated bounceInDown");
        $(menuName).toggle();
        $(this).toggleClass('close jq-close');
    });

});

JsFiddle:http://jsfiddle.net/big_smile/G48bK/

Проблема: здесь используется тумблер. Меню изначально скрыто с помощью CSS. Toggle устанавливает в меню «display: none», а затем никогда не устанавливает его в «display: block».

Ответы на вопрос(1)

Ваш ответ на вопрос