我目前正在实现一个 Bootstrap Accordion 小部件,并且想在每个面板的主体上放置一个元素,该元素允许我切换当前打开的面板(展开另一个面板并隐藏其他面板)。我目前正在通过使用 jQuery 通配符选择器来折叠所有面板,然后显示我需要的面板来执行此操作:
$(".displayPanel").click((e) => {
$("[id^='collapse']").collapse('hide');
$("#collapse" + e.target.text).collapse('show');
})
出于某种原因,这似乎会影响打开和关闭面板的默认 Bootstrap 行为(面板最终保持打开状态等)。 Here是一个演示该问题的最小示例。有没有更好的方法来完成这样的事情?
提前致谢。
最佳答案
您必须等待“隐藏”然后才能运行“显示”。 Here the updated fiddle.
如果有一个事件来指示“隐藏”何时完成,可能会更清晰。
$(".displayPanel").click((e) => {
$("[id^='collapse']").collapse('hide');
setTimeout(function(){
$("#collapse" + e.target.text).collapse('show');
},1000);
});
关于javascript - 使用 jQuery 控制 bootstrap Accordion ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42043501/