jquery alt Accordion 不关闭

标签 jquery html css accordion

出于各种原因,我创建了一个 Accordion ,它具有指定的高度和溢出:隐藏并在点击时完全打开。但是,我无法在单击所需按钮时将其折叠起来。

这是相关的 JS:

$(document).ready(
    function(){
        $('li.ww_slides').addClass('livequery').append('<span class="nav"></span>');
        $("li.ww_slides").click(function () {
            $('li.ww_slides').removeClass('active');
            $(this).addClass('active');
            $('span.nav').addClass('open').css('bottom','0');
        });

        $("span.open").click(function () {
            $(this).parent().removeClass('active');
        });
    }
);

这是相关的 CSS:

.ww_main_preview ul li.active { margin-bottom: 10px; padding-bottom: 10px; height:    auto!important; }
.ww_main_preview ul li.active span.nav { background-position: top center; }
.ww_main_preview ul li.livequery { overflow: hidden; height: 76px; margin-bottom: 10px; padding-bottom: 10px; }

如何让 li.ww_slides 在点击相关 span.nav.open 时关闭?

最佳答案

当您在点击处理程序中更改类时,您应该委托(delegate)事件:

$("li.ww_slides").on("click", "span.open", function() {
    $(this).parent().removeClass('active');
});

或者:

$(document).ready(function(){
   $('li.ww_slides')
          .addClass('livequery')
          .append('<span class="nav"></span>')
          .click(function() {
              $('li.ww_slides').removeClass('active');
              $('span.nav').removeClass('open');
              $(this).addClass('active')
                     .find('.nav')
                     .addClass('open')
                     .css('bottom','0');
          }).on('click', 'span.open', function(event) {
              event.stopPropagation();
              $(this).parent().toggleClass('active');
          });
});

关于jquery alt Accordion 不关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16561490/

相关文章:

php - 使用 PHP foreach 循环格式化 jQuery 函数

Jquery 点击刷新

php - XHTML 验证 : character "" not allowed in prolog. 为什么?

html - 如何更改文本的不透明度以及 css 中图像的色阶?

html - Div 在顶部,img 在中心,按钮在 sub

javascript - JQuery 和 Bootstrap : How to add image from a list of images to a carousel?

jquery - jqGrid 具有自动高度;但有最大高度和滚动条

javascript - 制作用于绘制和修改图像的 Web 应用程序的最佳方法是什么?

html - float 元素如何影响其高度/显示?

javascript - 暂停 Jquery.each 循环以确保代码完全执行?