你能做的最好的事情就是阅读Bootstrap documentation :)
您的解决方案不是最好的,因为如果您双击按钮的速度足够快,它将在 if 语句和 else 语句中执行代码(仅折叠一次)
该事件在调用 show 实例方法时立即触发。
$('#myCollapsible').on('show.bs.collapse', function () {
// do something…
});
当折叠元素可见时触发此事件
用户(将等待 CSS 转换完成)。
$('#myCollapsible').on('shown.bs.collapse', function () {
// do something…
});
当调用 hide 方法时立即触发此事件。
$('#myCollapsible').on('hide.bs.collapse', function () {
// do something…
});
当折叠元素被隐藏时触发此事件
用户(将等待 CSS 转换完成)。
$('#myCollapsible').on('hidden.bs.collapse', function () {
// do something…
});
例子:
$('[data-toggle="collapse"]').click(function() {
var collapsibleDiv = $(this).closest('.panel').find('.panel-collapse');
collapsibleDiv.on('show.bs.collapse', function() {
$('body').css('background', '#1abc9c');
});
collapsibleDiv.on('shown.bs.collapse', function() {
$('body').css('background', '#e74c3c');
});
collapsibleDiv.on('hide.bs.collapse', function() {
$('body').css('background', '#3498db');
});
collapsibleDiv.on('hidden.bs.collapse', function() {
$('body').css('background', '#7f8c8d');
});
});