2012-11-19 78 views
0

我有一個簡單的切換是可以正常使用,manaaged湊齊一起爲知之不多或沒有..將活動類添加到此jQuery ...?

的HTML ..

<ul> 
    <li id="menu-item-346" class="parents-toggle"><a href="#">Parent Button</a> 

     <ul class="sub-menu"> 

      <li id="menu-item-347" class="parents-toggle-inner"><a href="#">Child Button</a> 

      <ul class="sub-menu"> 
       <li id="menu-item-348" class="menu-item">Button</a></li> 
       <li id="menu-item-349" class="menu-item">Button</a></li> 
      </ul> 
    </li> 
</ul> 

jQuery的....

$(".parents-toggle > a").click(function() { 
     $(".parents-toggle > ul.sub-menu").not($(this).siblings()).slideUp(); 
     $(this).siblings(".sub-menu").slideToggle(); 
     }); 

     $(".parents-toggle-inner > a").click(function() { 
     $(".parents-toggle-inner > ul.sub-menu").not($(this).siblings()).slideUp(); 
     $(this).siblings(".sub-menu").slideToggle(); 
     }); 

有沒有可能當你點擊一個按鈕來摺疊它的菜單時,一個活動類被添加到那個特定的按鈕中,所以當你點擊並且菜單打開時按鈕仍然是一個不同的顏色......?

回答

0

當然,只要利用jQuery的toggleClass()這樣的功能jsFiddle example

$(".parents-toggle > a").click(function() { 
    $(this).toggleClass('toggled'); 
    $(".parents-toggle > ul.sub-menu").not($(this).siblings()).slideUp(); 
    $(this).siblings(".sub-menu").slideToggle(); 
}); 

$(".parents-toggle-inner > a").click(function() { 
    $(this).toggleClass('toggled'); 
    $(".parents-toggle-inner > ul.sub-menu").not($(this).siblings()).slideUp(); 
    $(this).siblings(".sub-menu").slideToggle(); 
});​ 

通過將$(this).toggleClass('toggled');添加到您的函數中,您可以根據需要添加/刪除類。

+1

輝煌,謝謝。 – user4630

+0

當您點擊同一子菜單中的另一個鏈接時,是否可以刪除活動類? – user4630

+0

你能舉個例子說明你的意思嗎? – j08691