javascript - 为 Accordion 打开/关闭添加缓动效果

标签 javascript jquery accordion transition

我对 JS 非常陌生,但我想要一个非常简单的 Accordion ,所以我制作了一个。由于某种原因,当我试图为它的打开/关闭添加缓和效果时,我不知所措。任何帮助将非常感激。谢谢!

CodePen of Accordion

js代码:

(function(){
// This class will be added to the expanded item
var activeItemClass = 'accordion-expanded';
var accordionItemSelector = '.accordion-section';
var toggleSelector = '.accordion-head';

$(toggleSelector).on('click', function() { 

    $(this)
        .closest(accordionItemSelector) // go up to the accordion item element
        .toggleClass(activeItemClass)
            .siblings()
            .removeClass(activeItemClass);
});

})();

最佳答案

既然你使用的是 jQuery,为什么不这样做:

var accordionItemSelector = '.accordion-body';
var toggleSelector = '.accordion-head';

$(toggleSelector).on('click', function() { 
  if (!$(this).next(accordionItemSelector).is(":visible"))
    $(toggleSelector).not($(this)).next(accordionItemSelector).slideUp();
  $(this).next(accordionItemSelector).slideToggle();   
});

UPDATED PEN

关于javascript - 为 Accordion 打开/关闭添加缓动效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34623699/

相关文章:

jquery - 如何从一个ajax调用中检索多个json编码?

jquery - 交叉淡入淡出动画

javascript - 如何将 JS 应用于(打开的) Accordion ,当它在 DOM 加载时关闭

css - 跨浏览器纯 CSS3 垂直 Accordion - 保持窗口打开,直到单击另一个窗口

javascript - Jquery Accordion - 使点击的元素滚动到页面顶部

javascript - 解析目标为 ="new"的链接并添加一个 onclick 事件

javascript - 将 javascript 库添加到 angular-brunch-seed

javascript - 设置值 Angular Material 日期选择器,从外部输入

Javascript:在div中选择一个图像元素

javascript - 如何暂时停止字幕文本然后继续?