javascript - 在嵌套折叠中选择 Accordion 切换以完全关闭 Accordion

标签 javascript jquery twitter-bootstrap

使用 Twitter Bootstrap 2.3.2 Collapse 插件。

我在尝试使用 JavaScript 操作嵌套 Accordion 时遇到问题。

我想捕获上次单击的 Accordion 切换的 ID,以便在关闭所有打开的 Accordion 后可以引用它。

我可以使用显示/隐藏事件来全局关闭所有打开的 Accordion ,但我需要返回并打开最后选定的项目(或者如果更简单,则以另一种方式执行类似操作)。

我不知道如何为选定的 Accordion 切换创建变量。我只能使用“this”关键字访问顶层的 Accordion 。

我可以更改以下内容以使其引用 Accordion 切换吗?

$('.accordion').on('show', function () {
    var selected = this.**[Accordion-Toggle]**
    $('.accordion').on('hidden', function () {
        clearCollapse();
    });
  do something with selected item here...
});

----------更新--------

在 Ammu 的帮助下整理了事件捕获后,我能够修改clearCollapse 函数来完成我需要的操作。该代码实际上选择了 Accordion-body 而不是 Accordion-toggle。

//function to fully collapse accordion on same page
function pageCollapse(inner) {
    $('#' + inner).find('.accordion-body').removeClass('in');
    $('#' + inner).find('.accordion-body').height('0px');
}    

//collapse inner accordion on same page
$('.accordion').on('hidden', function (e) {
    var selected = e.target.id;
    pageCollapse(selected);
});  

最佳答案

这可能对您有帮助。在你的代码中做一点改变

$('.accordion').on('show',function (event)){
var selected=event.target.id;          // give id of selected element
 $('.accordion').on('hidden',function () {
    clearCollapse();
 });
do something with selected item here... });

关于javascript - 在嵌套折叠中选择 Accordion 切换以完全关闭 Accordion ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20974988/

相关文章:

javascript - 如何显示宽度为 :100% in Chrome 的表格

javascript - Bootstrap 3 下拉过渡

html - 如何在 bootstrap 中将 2 个图像居中

javascript - 如何用 Jest 测试 asnyc 代码(或用 jsdom 测试 "image.onload")

javascript - 固定位置 Div 不使用 JQuery 进行动画处理

javascript - 选中一个复选框后取消选中其他复选框

java - 如何使用一个ajax请求从java servlet返回多个json对象

javascript - 在 Javascript 中调用或不调用函数的成本

javascript - 估计浏览器 JS 引擎速度以有条件地禁用动画

javascript - 我如何访问存储在本地存储中的 token 中的数据?