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);

在这里演示

4

2 回答 2

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/

于 2013-02-06T08:31:39.627 回答
0

Accordions 不支持多个打开的选项卡(没有要设置的 API 属性),请查看 - http://docs.jquery.com/UI/Accordion

于 2013-02-06T08:35:26.400 回答