我当前正在实现bootstrap手风琴小部件,并希望在每个面板的主体上放置一个元素,该元素允许我切换当前打开的面板(展开另一个面板并隐藏其他面板)。我目前正在通过使用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/

10-12 15:45