2015-03-02 129 views
0

我有一系列帶有以下標記的手風琴選項卡。與Jquery手風琴搏鬥

<h3 class="formTitle"> Miscellaneous Forms</h3> 
    <div class="misc formwrapper" style="display: block;"> 
     <ul> 
      <li>Item 
      </li> 

     </ul> 
    </div> 
    <h3 class="formTitle"> Miscellaneous Forms</h3> 
    <div class="misc formwrapper" style="display: block;"> 
     <ul> 
      <li>Item 
      </li> 

     </ul> 
    </div> 
    <h3 class="formTitle"> Miscellaneous Forms</h3> 
    <div class="misc formwrapper" style="display: block;"> 
     <ul> 
      <li>Item 
      </li> 

     </ul> 
    </div> 

每個H3作爲一個用來觸發與以下JS的揭示。

$(".formTitle").click(function() { 
    var item =$(this).next(".formwrapper").toggle("medium"); 
}); 

這可以切換項目很好,但我想知道如何隱藏可能打開的其他選項卡。說我點擊一個,然後兩個,我怎麼隱藏一個回來?

我試過兄弟姐妹,而不是(($這)),但我無法完全理解邏輯。

回答

0

您可以使用.not()

$(".formwrapper").not($(this).next(".formwrapper")).hide(); 
+1

Perefect,我想類似的東西,但覺得我得到的不是這個結構錯誤,謝謝! – Deedub 2015-03-02 15:28:56

0

這裏是一片邏輯的;)

var allPanels = $('.formTitle').children().hide(); 

     $('.formTitle').click(function() { 
     allPanels.slideUp(); 
     $(this).children().slideDown(); 
     return false; 
     }); 
+0

感謝Mat,出於好奇,爲什麼把它放在一個變量中? – Deedub 2015-03-03 21:53:10