javascript - jquery 上的 Accordion 。我无法关闭事件元素

标签 javascript jquery

我正在尝试创建 Accordion 效果。 我可以扩展该部分,但我不知道如何关闭已经打开的部分。

你能帮我一下吗?

function cws_accordion_init (){
    jQuery.fn.cws_accordion = function () {
        jQuery(this).each(function (){
            var sections = jQuery(this).find(".accordion_section");
            sections.each( function (index, value){
                var section_index = index;
                jQuery(this).find(".accordion_title").on("click", function (){
                    jQuery(this).siblings(".accordion_content").slideDown("300");
                    sections.eq(section_index).addClass("active");
                    sections.eq(section_index).siblings().removeClass("active").find(".accordion_content").slideUp("300");
                });
            });
        });
    }
}

html

<section class='cws-widget'>

    <section class='cws_widget_content toggle_widget'>
        <div class='accordion_section featured_check_up'>
            <div class='accordion_title'>title 1</div>
            <div class='accordion_content' style='display: none;'>
                <p>fhshjsjf isfi fhsuhsj dsihdisj dshd disd jdijd shd is disu</p>
            </div>
        </div>

        <div class='accordion_section featured_check_up'>
            <div class='accordion_title'>title 2</div>
            <div class='accordion_content' style='display: none;'>
                <p>djjdjdijisjdisjidjsijdisjdisjdis</p>
            </div>
        </div>



    </section>

</section>

最佳答案

这将切换所选的 Accordion 并关闭所有其他 Accordion :

$(".accordion_title").on("click", function (){
  $(this).siblings(".accordion_content").slideToggle("300");
  $(this).addClass("active");
  $(".accordion_title").not(this).removeClass("active");
  $(".accordion_title").not(this).siblings(".accordion_content").slideUp("300");
});

关于javascript - jquery 上的 Accordion 。我无法关闭事件元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36523739/

相关文章:

jquery - jqgrid 中的 "forceFit : true"是什么意思?

javascript - jQuery 替代 .keyup 函数

JavaScript/jQuery : Show DIV until user stops typing in Textbox

jquery - 如何始终将元素放在第一个位置?

javascript - Underscrore 的 now 方法如何更快?

javascript - 如何从类中加载默认图像

javascript - 自定义 Stripe 结账按钮无法在移动设备上使用

javascript - 如何通过 react 将数据从对话框发送回父容器?

javascript - 强制为 YouTube 提供高质量缩略图

javascript - ComponentDidUpdate 用法和超出最大更新深度