2010-08-19 57 views
0

下面的工作正常。但是,我有2個子菜單​​ - 如果我將鼠標懸停在其中,他們的兩個孩子「ul.menu_body」都會淡入。jquery這個混淆

大概我需要在某處使用「this」,所以淡入淡出只適用於所需的菜單。

我嘗試添加 $( 「ul.menu_body」,這一點).fadeIn( '快') 但這停止它完全工作 - 沒有錯誤的心(我可以看到)

什麼想法?謝謝。

$(document).ready(function(){ 

      $("ul.menu_body li:even").addClass("alt"); 
      $("li a.menu_head").hover(function() { 
       $("ul.menu_body").fadeIn('fast') 
      }); 
      $(".subMenuParent").mouseleave(function(){ 
       $("ul.menu_body").fadeOut(); 
       $("li.subMenuParent").removeClass("active"); 

      }); 
// rest of my script 

澄清 - 下面的代碼的含義是「ul.menu_body」的每一個實例,當「裏a.menu_head」懸停在變淡。

我只想顯示相關的子菜單,不是全部。

回答

2

你很近,但懸停發生在錨元素(它變成this)而不是li元素。我認爲ul不是錨的孩子,而是李的孩子。嘗試使用:

$('ul.menu_body',$(this).closest('li')).fadeIn('fast'); 

$(this).closest('li').find('ul.menu_body').fadeIn('fast'); 
+0

啊,這是有道理的。 謝謝,工作一種享受。 – Ross 2010-08-19 12:23:14