[英]Javascript accordion tabs close
我使用了我想继续制作的手风琴。 如果我选择另一个选项卡以便只打开一个选项卡,我想关闭所有打开的选项卡。 我对 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";
}
});
}
标签在单击时打开并再次关闭.. 我想在另一个标签打开时关闭打开的标签.. 只有一个标签应该保持打开状态而不是我想要的,谢谢:) – 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
应该关闭当前点击的元素。 相反,您应该创建一个数组并将所有打开的选项卡附加到它,然后在打开一个新选项卡时关闭它们。
希望它有所帮助,埃利亚斯 =)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.