2015-04-23 32 views
0

我是jquery的初學者。下面是我想出了一個教程的幫助下基本手風琴代碼:如何保持每個手風琴的第一個鏈接打開,同時在相同的頁面中有兩個相同的手風琴副本

$(document).ready(function() { 
      $('.reAccord > .accTitle').each(function(index){ 
       $('.accContainer').hide(); 
       $('.accTitle:first').next().slideDown(); 
       $(this).click(function() { 
        if ($(this).next().is(':hidden')) { 
         $('.accTitle').next().slideUp(); 
         $(this).next().slideDown(); 
        } 
        return false; 

        }); 
      }); 

     }); 

但問題是,如果我複製HTML有在同一頁面僅在手風琴的第一個元素兩個不同的手風琴1處於活動狀態,而第一個手風琴鏈接處於摺疊狀態。我應該做些什麼改變,以保持手風琴的每一份獨立副本的第一個鏈接是開放的。我也必須使用.each(function(index){});在此:

<!-- accordion 1 --> 
     <div class="reAccord"> 
      <h2 class="accTitle"><a href="#">Accordion one</a></h2> 
      <div class="accContainer"> 
       <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac     turpis egestas.</p> 
      </div> 
      <h2 class="accTitle"><a href="#">Accordion Two</a></h2> 
      <div class="accContainer"> 
       <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac     turpis egestas.</p> 
      </div> 
      <h2 class="accTitle"><a href="#">Accordion Three</a></h2> 
      <div class="accContainer"> 
       <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac     turpis egestas.</p> 
      </div> 
      <h2 class="accTitle"><a href="#">Accordion Four</a></h2> 
      <div class="accContainer"> 
       <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac     turpis egestas.</p> 
      </div> 
     </div> <!--reaccord--> 
     <!-- accordion 2 --> 
     <div class="reAccord"> 
      <h2 class="accTitle"><a href="#">Accordion one</a></h2> 
      <div class="accContainer"> 
       <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac     turpis egestas.</p> 
      </div> 
      <h2 class="accTitle"><a href="#">Accordion Two</a></h2> 
      <div class="accContainer"> 
       <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac     turpis egestas.</p> 
      </div> 
      <h2 class="accTitle"><a href="#">Accordion Three</a></h2> 
      <div class="accContainer"> 
       <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac     turpis egestas.</p> 
      </div> 
      <h2 class="accTitle"><a href="#">Accordion Four</a></h2> 
      <div class="accContainer"> 
       <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac     turpis egestas.</p> 
      </div> 
     </div> <!--reaccord--> 
+0

僅供參考,如果你沒有將製作的手風琴,你可以使用https着想的手風琴:// jqueryui.com/accordion/ –

+0

就腳本而言,您無需從另一個角度定義手風琴 - 將一些ID和名稱添加到手風琴容器中,將它們包含在jQuery選擇器中,然後對每個手風琴進行控制。是的,使用jQuery-UI:不要重複發明輪子 – MuppetGrinder

回答

0

使用此:

$('.reAccord').each(function(index){ 
    $el = $(this); 
     $(this).find('.accTitle').each(function(index){ 
      $(this).next('.accContainer').hide(); 
      $el.find('.accTitle:first').next().slideDown(); 
      $(this).click(function() { 
       if ($(this).next().is(':hidden')) { 
        $(this).parent().find('.accContainer').slideUp(); 
        $(this).next('.accContainer').slideDown(); 
       } 
       return false; 

       }); 
     }); 

    }); 

https://jsfiddle.net/6Lnnw6jd/1/

+0

嗨,感謝您的超級快速響應...仍然第一個手風琴的第一個鏈接是唯一的開放...休息不工作:( –

+0

更新了我的回答https://jsfiddle.net/6Lnnw6jd/1/ – madalinivascu

+0

嘿,這就像一個魅力的偉大作品...你可以解釋一下代碼,所以我可以理解它是什麼......特別是' $ el = $(this);'。順便說一句感謝您的幫助 –

相關問題