如何解决打开另一个切换手风琴时,关闭打开的切换手风琴
我想在打开另一个切换(手风琴)时关闭打开的切换(手风琴)。但是这段代码对我来说没有发生。单击此代码后,所有内容都已打开。这对我来说非常重要。如果可以的话,请这样做。非常感谢。
这是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 举报,一经查实,本站将立刻删除。