手风琴在面板上

问题描述

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

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

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

@H_502_0@这是我一直在使用的脚本

<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>

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

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

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

解决方法

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

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

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