打开另一个切换手风琴时,关闭打开的切换手风琴

问题描述

我想在打开另一个切换(手风琴)时关闭打开的切换(手风琴)。但是这段代码对我来说没有发生。单击此代码后,所有内容都已打开。这对我来说非常重要。如果可以的话,请这样做。非常感谢。

根据我的JS我想要这样...

I want like this photo

这是JS

(function () {
    var d = document,accordionToggles = d.querySelectorAll(".js-accordionTrigger"),setAria,setAccordionAria,switchAccordion,touchSupported = "ontouchstart" in window,pointerSupported = "pointerdown" in window;

    skipClickDelay = function (e) {
        e.preventDefault();
        e.target.click();
    };

    setAriaAttr = function (el,ariaType,newProperty) {
        el.setAttribute(ariaType,newProperty);
    };
    setAccordionAria = function (el1,el2,expanded) {
        switch (expanded) {
            case "true":
                setAriaAttr(el1,"aria-expanded","true");
                setAriaAttr(el2,"aria-hidden","false");
                break;
            case "false":
                setAriaAttr(el1,"false");
                setAriaAttr(el2,"true");
                break;
            default:
                break;
        }
    };
    //function
    switchAccordion = function (e) {
        console.log("triggered");
        e.preventDefault();
        var thisAnswer = e.target.parentNode.nextElementSibling;
        var thisQuestion = e.target;
        if (thisAnswer.classList.contains("is-collapsed")) {
            setAccordionAria(thisQuestion,thisAnswer,"true");
        } else {
            setAccordionAria(thisQuestion,"false");
        }
        thisQuestion.classList.toggle("is-collapsed");
        thisQuestion.classList.toggle("is-expanded");
        thisAnswer.classList.toggle("is-collapsed");
        thisAnswer.classList.toggle("is-expanded");

        thisAnswer.classList.toggle("animateIn");
    };
    for (var i = 0,len = accordionToggles.length; i < len; i++) {
        if (window.CP.shouldStopExecution(0)) break;
        if (touchSupported) {
            accordionToggles[i].addEventListener("touchstart",skipClickDelay,false);
        }
        if (pointerSupported) {
            accordionToggles[i].addEventListener("pointerdown",false);
        }
        accordionToggles[i].addEventListener("click",false);
    }
    window.CP.exitedLoop(0);
})();

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)