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

手风琴在面板上

如何解决手风琴在面板上

我使用手风琴已经很成功了一段时间。 但是面板中只包含文本,现在我必须允许面板中包含活动元素(锚)。

问题是,当面板关闭时,锚点保持活动状态,因此您看不到它们,但是可以单击它们(单击按钮时,只有前2或3个面板会打开,有时面板会一次打开但不能再次打开-我猜是同一错误的所有结果)

请问有简单的解决方法吗?

这是我一直在使用的脚本

<script>
var acc = document.getElementsByClassName("accordion");
var panel = document.getElementsByClassName('panel');
for (var i = 0; i < acc.length; i++) {
    acc[i].onclick = function() {
        var setClasses = !this.classList.contains('active');
        setClass(acc,'active','remove');
        setClass(panel,'show','remove');
        if (setClasses) {
            this.classList.toggle("active");
            this.nextElementSibling.classList.toggle("show");
        }
    }
}

function setClass(els,className,fnName) {
    for (var i = 0; i < els.length; i++) {
        els[i].classList[fnName](className);
    }
}
</script>

这里是显示问题的链接 https://www.rotary-ribi.org/clubs/page.php?PgID=814821&ClubID=27&Mp=807285

P.S面板中的文本将由其他人撰写,因此我必须接受并处理面板中的“任何内容”,因此很难接受要求对锚点进行特殊编码的修复程序。

我正在编写一个手风琴数据库,其中包含用户的按钮文本和面板文本,并按需生成手风琴HTML

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。