2010-09-20 38 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...明確作出出現和消失的嵌套列表。

希望它有幫助。