我想通过编程方式折叠Bootstrap 3可折叠 accordion 中除第一项之外的所有项。但是,我遇到了一些奇怪的行为。请检查一下这个小提琴,让我知道出了什么问题。
http://jsfiddle.net/k9o2j53a/
$('button').click(function(){
var panels = $('#accordion').find('.panel-collapse');
panels.collapse('hide');
panels.first().collapse('show');
});
第一次单击按钮时的行为与第二次单击时的行为不同。随后的单击似乎在所需的行为和每个项目的折叠之间交替。
3条答案
按热度按时间nsc4cvqm1#
试试这个:
更新的fiddle
如果我没理解错你的问题,你想“除第一个外全部折叠”,直接用
.not("selector")
就可以了。hk8txs482#
我找到了我一直在寻找的解决方案。事实证明,可折叠的元素必须首先被初始化,否则第一次调用show/hide将执行初始化本身,并导致这种“切换”行为,我一直在观察并试图避免这种行为。
因此,要显示/隐藏面板,最好编写:
然后先向众人隐瞒:
fhg3lkii3#
延迟显示以完成隐藏动画:
http://jsfiddle.net/k9o2j53a/6/
您可以调整延迟以满足您的目的