我正在使用jquery ui accordion来显示一些数据,如果有多个面板,我希望所有面板默认关闭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});
}
}
});
});
我尝试了这个,但它不起作用,即使有一个面板,面板也总是关闭,所以任何人都知道问题在哪里?
答案 0 :(得分:0)
我刚刚找到问题的解决方案,即创建两种不同的配置,然后根据条件创建手风琴。
$(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);
}
});
答案 1 :(得分:0)
你也可以在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();
});
}
});
我希望这会奏效,