当我点击Expand All
时,它会展开所有面板元素,然后通过单击每个面板折叠面板。但是当我想扩展panel1,panel2和panel3时出现问题。如果展开panel2,则应折叠panel1和panel3,依此类推。
$('#Expand').on('click', function() {
$('#accordion .panel-collapse').collapse('show');
});
#Icon .collapse-toggle:after {
font-family: 'Glyphicons Halflings';
content: "\e114";
float: right;
color: grey;
}
#Icon .collapse-toggle.collapsed:after {
content: "\e080";
}
<a id="Expand" href="#">Expand All</a>
</span>
<div class="panel-group" id="accordion">
<div class="panel panel-default">
<div class="panel-heading" id="Icon">
<a class="collapse-toggle collapsed" data-toggle="collapse" data-parent="#accordion" href="#panel1">panel1</a>
</div>
<div id="panel1" class="panel-collapse collapse">
<div class="panel-body"></div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" id="Icon">
<a class="collapse-toggle collapsed" data-toggle="collapse" data-parent="#accordion" href="#panel2">panel2 </a>
</div>
<div id="panel2" class="panel-collapse collapse">
<div class="panel-body"></div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading" id="Icon">
<a class="collapse-toggle collapsed" data-toggle="collapse" data-parent="#accordion" href="#panel3">panel3 </a>
</div>
<div id="panel3" class="panel-collapse collapse">
<div class="panel-body"></div>
</div>
</div>
</div>
</div>
答案 0 :(得分:0)
您可以使用https://codepen.io/creativedev/pen/mKWWYd
执行此操作var chk = true;
$('#Expand').click(function() {
$("#accordion .panel-collapse").each(function(i, v) {
console.log(i);
console.log(v);
if ($(this).hasClass("in")) {
chk = true;
$(this).collapse('hide');
} else {
chk = false;
$(this).collapse('show');
}
})
});
$('#accordion').on('show.bs.collapse', function() {
if (chk) {
$('#accordion .in').collapse('hide');
}
});