Переключение петли, но мышка не - PullRequest
0 голосов
/ 14 марта 2011

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

  $(document).ready(function() {

        $(".signin").click(function(e) {          
            e.preventDefault();
            $("div#dropdown_container").animate({opacity: "show", top: "45"}, "slow");
            $(".signin").toggleClass("menu-open");

        });

        $("div#dropdown_container").mouseup(function() {
            return false
        });
            $(document).mouseup(function(e) {
            if($(e.target).parent(".signin").length==0) {
                $(".signin").removeClass("menu-open");
                $("div#dropdown_container").animate({opacity: "hide", top: "75"}, "fast");
            }
        });         
            $(document).mouseup(function(e) {
            if($(e.target).parent(".signin menu-open").length==0) {
                $("menu-open").removeClass(".signin");
                $("div#dropdown_container").animate({opacity: "hide", top: "75"}, "fast");
            }
        }); 
    });

Я только начинающий в jquery, поэтому любая помощь будет оценена, если она поможет, этот код был изменен из этого http://aext.net/2009/08/perfect-sign-in-dropdown-box-likes-twitter-with-jquery/

Приветствие.

1 Ответ

0 голосов
/ 14 марта 2011

Вы можете проверить, является ли "div # dropdown_container" видимым или скрытым перед его отображением.

    $(".signin").click(function(e) {          
        e.preventDefault();

        if ($("#dropdown_container").is(":hidden")){
            $("#dropdown_container").animate({opacity: "show", top: "45"}, "slow");
        }

        $(".signin").toggleClass("menu-open");

    });
...