微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

手风琴元素上的切换功能损坏

如何解决手风琴元素上的切换功能损坏

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 举报,一经查实,本站将立刻删除。