您好,我使用了我想继续制作的手风琴。如果我选择另一个选项卡,以便只打开一个选项卡,我想关闭所有打开的选项卡。我是javascript
的新手,正努力做到正确。
这是我的js代码:
var acc = document.getElementsByClassName("accordion");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].addEventListener("click", function() {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.maxHeight){
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
});
}
感谢您的帮助
答案 0 :(得分:0)
选项卡在单击时打开,然后再次关闭..当另一个选项卡打开时,我想关闭打开的选项卡..只有一个选项卡应该保持打开状态,谢谢:) – Mr.Murphy
好的...虽然我不确定这是什么,但看起来像:
acc[i].addEventListener("click", function() {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.maxHeight){
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
});
您正在将onclick
添加到手风琴,但是然后您正在使用this
,它应该关闭当前单击的元素。相反,您应该创建一个数组并将所有打开的选项卡附加到该数组,然后在打开一个新选项卡时将其关闭。
希望有帮助,伊莱亚斯=)