javascript - 当另一个面板打开时关闭 Accordion 面板

标签 javascript jquery html css twitter-bootstrap-3

我正在一个 Accordion 小组工作。它们都打开得很好,但我不知道如何让它们在打开另一个元素时关闭。

这是我正在处理的代码:

<div class="container">
  <div class="row">
    <div id="trickslist">
      <ul>
        <li>
          <a class="expand">
            <div class="right-arrow">+</div>
            <div>
              <h2 class="tipstricks">Exploring your Motivations to Quit Tobacco</h2>
            </div>
          </a>
          <div class="detail">

          </div>
        </li>           
        <li>
          <a class="expand">
            <div class="right-arrow">+</div>
            <h2 class="tipstricks">Avoiding weight gain or alcohol</h2>
          </a>
          <div class="detail">

          </div>
        </li>
        <li>
          <a class="expand">
            <div class="right-arrow">+</div>
            <h2 class="tipstricks">Making your plan stick: relapse prevention</h2>
          </a>
          <div class="detail">

          </div>
        </li>
      </ul>
    </div>
  </div>
</div>

我尝试创建新的 id 来在 JS/JQuery 代码中调用,但似乎没有任何效果。

var $myGroup = $('#trickslist');
$myGroup.on('show.bs.collapse', '.collapse', function () {
    $myGroup.find('.collapse.in').collapse('hide');
});

我认为这是在我的脚本中,但我并没有 100% 知道我做错了什么。

最佳答案

我更新了你的 fiddle ,希望能解决你的问题=) 这是 jQuery。查看Fiddle

$(".expand").on("click", function () {
    $(".right-arrow").text("+");
    $(".detail:visible").slideUp();
    if(!$(this).next().is(":visible")){

        $(this).next().slideDown(200);
        $(this).find(".right-arrow").text("-");
    }
});

[已编辑]

在“.expand”元素单击事件上,所有 Accordion 将返回到其初始状态,关闭并在右侧带有加号。仅当 Accordion 关闭时, Accordion 的详细信息部分才会出现,以防止在打开时单击时隐藏和显示。如果关闭 Accordion ,将出现详细信息部分,并且加号将更改为减号。

关于javascript - 当另一个面板打开时关闭 Accordion 面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41001399/

相关文章:

javascript - 添加到输入和克隆结果

javascript - API 服务限制我或我的巨大 for 循环对于我的 POST 请求来说太快?

jquery - 通过关闭按钮关闭工具提示后不会出现

html - 如何使用此模板搜索按钮代替表单中的提交按钮?

javascript - Bootstrap 网格类用法

javascript - 如何使用Webix Uploader组件上传文件并更改文件名?

javascript - 使用动态参数数调用动态函数

jquery - 强制 div 由 JQuery 插入到容器中以保持在同一行

javascript - 防止 jquery ajax 从脚本或 html 响应执行 javascript

javascript - CSS悬停卡片定位