javascript - 使用 jQuery 控制 bootstrap Accordion

标签 javascript jquery twitter-bootstrap

我目前正在实现一个 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/

相关文章:

html - Bootstrap 4 beta 轮播箭头位于 slider 区域之外

jquery - 如果不添加空的 <ul> 标签,nav-tabs 将无法工作

javascript - Vuejs - 在同一组件中获取不同的日期

javascript - 我想保持以下 Accordion 的过渡效果

javascript - 当文本可以包含非拉丁字母时如何计算字符长度

jquery - 无法将数据从表单发送到 SQL 数据库

javascript - 如何动态添加多个HTTP header

javascript - 在 HTML 中显示数组中的图像

javascript - jquery显示/隐藏按钮标题

css - 如何在网站的移动版本中对齐 div 标签?