2013-02-06 162 views
0

我已經實施了手風琴內容標籤。目前它允許一次打開一個菜單。我還需要同時打開其他選項卡。打開多個手風琴標籤

這裏是我的代碼

(function(jQuery){ 
    jQuery.fn.extend({ 
     accordion: function() {  
      return this.each(function() { 

       var $ul = $(this); 

       if($ul.data('accordiated')) 
        return false; 

       $.each($ul.find('ul, li>div'), function(){ 
        $(this).data('accordiated', true); 
        $(this).hide(); 
       }); 

       $.each($ul.find('a'), function(){ 
        $(this).click(function(e){ 
         activate(this); 
         return void(0); 
        }); 
       }); 

       var active = (location.hash)?$(this).find('a[href=' + location.hash + ']')[0]:''; 

       if(active){ 
        activate(active, 'toggle'); 
        $(active).parents().show(); 
       } 

       function activate(el,effect){ 
        $(el).parent('li').toggleClass('active').siblings().removeClass('active').children('ul, div').slideUp('fast'); 
        $(el).siblings('ul, div').slideToggle("slow");((!effect)?'fast':null); 
       } 

      }); 
     } 
    }); 
     $('ul').accordion(); 
      $(".info").find("a").click(function(){ 
       var trid = $(this).parent().attr("idcust");     
       var trdata = $(this).parent().attr("custdata"); 
      // Hide all content divs and show only the one related to the click 
      $("#"+trid).show().children().not(trdata).hide(); 
      $(trdata).toggle(); 
     }); 
})(jQuery); 

DEMO HERE

回答

1

首先我想說的有很多垃圾代碼在CSS & JS。像這樣寫:

JS

$('.accordion a').click(function(){ 
    $('.accordion div').slideToggle("slow");; 
}); 

CSS

.accordion div { background: #fff;overflow:hidden;display:none;} 

入住這http://jsfiddle.net/RVJQN/1/

+0

我不想打開所有的標籤點擊。例如,如果打開一個選項卡,那麼我需要通過單擊相應的選項卡打開另一個選項卡 – Sowmya

+0

這就是您要的http://jsfiddle.net/RVJQN/2/ – sandeep

+0

正是如此。謝謝 :) – Sowmya