2010-09-20 64 views
0

我有无序列表的一组嵌套的,我使用了一个下拉菜单结构:在jQuery的动画,顶级UL元素消失

UL> LI> DIV> UL> LI * N>一个

我使用jQuery动画div和孩子UL的下拉/显示:

jQuery('ul.top-ul li.top-li').hover(function() { 
      jQuery(this).animate({height:"150px"},200); 
      jQuery(this).find('div').animate({height:"150px"},4000, function() { 
       jQuery('ul.top-ul li.top-li div p').fadeIn('fast'); 
      }); 
     }, function() { 
      jQuery('ul.top-ul li.top-li div p').fadeOut('fast'); 
      jQuery(this).animate({height:"22px"},200); 
      jQuery(this).find('div').animate({height:"0px"},200); 
     }) 

当这个动画运行,然而,UL直属DIV消失,直到动画已经走完。

这是可见的http://acldev.com/rsac/index.php(我已经放慢动画一路下跌只是要强调的一点。

是什么造成UL消失?当我停止动画的DIV中,UL不会消失。

+0

我面临同样的问题。你怎么修好它的? – zsquare 2012-05-07 08:03:23

+0

我没有最终修复它。客户决定做一个标准的下拉菜单。我很想再看看这个。它基于CSS3下拉菜单。 – 2012-05-08 03:04:24

+0

我有同样的问题,但我没有在菜单中使用它 – zsquare 2012-05-08 05:06:31

回答

0

你的菜单,因为这个选择jQuery(this).find('div').animate...在第三行的dissapearing。

尝试使用类似jQuery(this).find('.maincats ul').animate...明确作出出现和消失的嵌套列表。

希望它有帮助。