如何解决手风琴元素上的切换功能损坏
function openAccordion() {
let activeAccordion = document.getElementsByClassName('accordion active')[0]
if (activeAccordion) {
activeAccordion.classList.remove('active')
activeAccordion.nextElementSibling.style.maxHeight = null;
}
let accordion = event.currentTarget
accordion.classList.toggle('active')
let panel = accordion.nextElementSibling;
if (panel.style.maxHeight) {
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
}
上面的代码应该可以切换一个手风琴按钮并且一次只显示一个。但它坏了/被窃听了。
如果没有 activeAccordion 部分,切换工作正常,但打开另一个面板时它不会关闭打开的面板。
使用 activeAccordion 部分,它会在另一个打开时关闭面板,但切换停止工作。
我该如何重组?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。