【发布时间】:2020-07-27 17:29:30
【问题描述】:
我正在尝试设置可折叠的 div。它们工作正常,但是当我打开另一个可折叠 div 时,打开的不会关闭,除非我一个一个手动关闭它们。
如何在打开不同的div时自动制作一个打开的可折叠div?
HTML
<html>
<button type="button" class="collapsible">BUTTON</button>
<div class="content">
<p style="padding: 20px 0;">CONTENT</p>
</div>
<button type="button" class="collapsible">BUTTON</button>
<div class="content">
<p style="padding: 20px 0;">CONTENT</p>
</div>
<button type="button" class="collapsible">BUTTON</button>
<div class="content">
<p style="padding: 20px 0;">CONTENT</p>
</div>
</html>
JS
var coll = document.getElementsByClassName("collapsible");
var i;
for (i = 0; i < coll.length; i++) {
coll[i].addEventListener("click", function() {
this.classList.toggle("active");
var content = this.nextElementSibling;
if (content.style.maxHeight){
content.style.maxHeight = null;
} else {
content.style.maxHeight = content.scrollHeight + "px";
}
});
}
【问题讨论】:
-
请包含您的 html。您的 ID 或课程应该有问题
标签: javascript html css collapse