首次运行后,水平菜单不会隐藏

时间:2012-03-15 09:47:03

标签: javascript jquery css menu

我有一个水平动画菜单有一个奇怪的行为,因为它只是第一次工作正常,之后可扩展菜单没有动画,我不明白为什么 ul#nav ul{display:none;}不再适用了...这是我用于动画的jQuery函数。

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

1 个答案:

答案 0 :(得分:3)

也许这会奏效:

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无效。