nki*_*kes 2 jquery jquery-ui accordion
当使用jQuery的Accordion(以嵌套方式)时,我想确保在单击/打开父元素时,关闭/汇总任何打开的子元素.我不确定在尝试这样做时我应该使用哪个选择器.到目前为止,我已经尝试将"激活"设置为false来修改一个更改事件,但这只会使任何打开的元素自动关闭.
假设我只有1个嵌套手风琴,我的jquery初始化看起来像:
$(".accordion").accordion({
active: false, collapsible: true, autoHeight: false, animated: 'swing'
});
$(".child-accordion").accordion({
active: false, collapsible: true, autoHeight: false, animated: 'swing',
change: function(event, ui) { $(".child-accordion").accordion("activate", false); }
});
Run Code Online (Sandbox Code Playgroud)
其中.child-accordion是嵌套实例.当.accordion的成员被打开时,我需要关闭.child-accordion下的任何东西.
$(".accordion").accordion({
collapsible: true,
autoHeight: false,
animated: 'swing',
changestart: function(event, ui) {
child.accordion("activate", false);
}
});
var child = $(".child-accordion").accordion({
active:false,
collapsible: true,
autoHeight: false,
animated: 'swing'
});
Run Code Online (Sandbox Code Playgroud)
你的版本无法正常工作的原因是双重的
您的更改事件需要在父级上,因为这是您希望孩子们汇总的时候
您需要创建事件,changestart因为当您设置activate为false时,它所做的主要事情是toggle子change节点中当前的"可见"部分,但是当事件在父节点上触发时,子节点已经被隐藏,所以它不会任何东西.
编辑:这是这个http://jsfiddle.net/ryleyb/YPpEn/的工作版本
| 归档时间: |
|
| 查看次数: |
1970 次 |
| 最近记录: |