jQuery. Однако, если пользователь зависает до готовности документа - PullRequest
0 голосов
/ 09 февраля 2011

Приведенный ниже код прекрасно работает, за исключением одного условия.Если пользователь наводит указатель мыши на элемент до того, как документ будет готов, то slideToggle выйдет из синхронизации (или перевернут).

Таким образом, результат #logged_in_nav отображается при наведении мыши и при наведении курсора поле исчезает.Какой простой способ исправить это?

   $("#logged_in_box").hover(function(){
            $("#logged_in_nav").stop(true, true).slideToggle("fast");
            $(this).addClass("logged_in_box_hover");
        }, // hover over
        function() {
            $("#logged_in_nav").stop(true, true).slideToggle("fast");
            $(this).removeClass("logged_in_box_hover");
        } // hover out
    ); // hover

1 Ответ

3 голосов
/ 09 февраля 2011

Не используйте slideToggle.Используйте slideDown() (документы) и slideUp() (документы) поэтому направление явно привязано к типу события.

$("#logged_in_box").hover(function(){
        $("#logged_in_nav").stop(true, true).slideDown("fast");
        $(this).addClass("logged_in_box_hover");
    }, // hover over
    function() {
        $("#logged_in_nav").stop(true, true).slideUp("fast");
        $(this).removeClass("logged_in_box_hover");
    } // hover out
); // hover
...