Горизонтальное меню не будет скрываться после первого запуска - PullRequest
2 голосов
/ 15 марта 2012

У меня горизонтальное анимированное меню со странным поведением, потому что оно работает нормально только в первый раз, после этого расширяемое меню не анимируется, и я не понимаю, почему ul#nav ul{display:none;} больше не применяется ... это функция jQuery, которую я использую для анимации.

function mainMenu(){
$('ul#nav').find('> li').hover(function(){
        $(this).find('ul')
        .stop(true, true)
        .slideDown('slow');
    });
};

1 Ответ

3 голосов
/ 15 марта 2012

Может быть, это будет работать:

function mainMenu(){
$('ul#nav').find('> li').hover(function(){
        $(this).find('ul')
        .stop(true, true)
        .slideDown('slow');
    }, function(){ $(this).find('ul').hide(); });
};

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...