使手风琴处于活动状态:如果它包含一个面板,则为true



我使用jquery ui手风琴来显示一些数据,如果有多个面板,我希望默认情况下关闭所有面板active:false,但如果只包含一个面板,则打开active:true

$(function() {
                $("#accordion").accordion({autoHeight:false, collapsible: true, navigation: true,
                    clearStyle: true, active: false,
                    change: function(event, ui) {
                        resize_iframe();
                    },
                    create: function(event, ui) {
                    if($("#accordion div").length == 1) {
                       $(this).accordion({active:true});
                    }
                }
                });
            });

我试过了,但它不起作用,即使有一个面板,面板也总是关闭的,所以有人知道问题出在哪里吗

我刚刚找到了这个问题的解决方案,即创建两个不同的配置,然后根据条件创建手风琴。

 $(function() {
            var more = {autoHeight:false, collapsible: true, navigation: true,
                    clearStyle: true, active: false,
                    change: function(event, ui) {
                        resize_iframe();
                    }
                };
                var one = {autoHeight:false, collapsible: true, navigation: true,
                    clearStyle: true, active: true
                    change: function(event, ui) {
                        resize_iframe();
                    }
                }
                if($("#accordion div").length == 1) {
                $("#accordion").accordion(one);
                } else {
                    $("#accordion").accordion(more);
                }
            });

您也可以在jquery:内的手风琴控件结束后尝试

$(function() {
    if($("#accordion div").length == 1) {
            $("#accordion").accordion();
            $("#accordion div").css("display", "block");
    }else
    {
            $("#accordion").accordion({autoHeight:false, collapsible: true, navigation: true,
                clearStyle: true, active: false,
                change: function(event, ui) {
                    resize_iframe();
                });
    }
});

我希望这能起作用,

相关内容

最新更新