javascript允许我折叠扩展的手风琴
我有一个侧面导航栏,由多个手风琴组成,展开后会显示更多的导航按钮。我有一点JavaScript,一次只能扩展一个手风琴。但是,如果我单击一个手风琴来展开它,当我单击同一个手风琴时,它将保持打开状态 我想得到它,这样我就可以展开和折叠手风琴,而不必展开另一个手风琴 JavaScript:javascript允许我折叠扩展的手风琴,javascript,html,Javascript,Html,我有一个侧面导航栏,由多个手风琴组成,展开后会显示更多的导航按钮。我有一点JavaScript,一次只能扩展一个手风琴。但是,如果我单击一个手风琴来展开它,当我单击同一个手风琴时,它将保持打开状态 我想得到它,这样我就可以展开和折叠手风琴,而不必展开另一个手风琴 JavaScript: var acc = document.getElementsByClassName("nav-link-bottom-main"); var i; var last; for (i = 0; i < acc
var acc = document.getElementsByClassName("nav-link-bottom-main");
var i;
var last;
for (i = 0; i < acc.length; i++) {
acc[i].onclick = function() {
if (last) {
last.nextElementSibling.classList.toggle("show");
}
this.nextElementSibling.classList.toggle("show");
last = this;
}
}
var acc=document.getElementsByClassName(“导航链接底部主”);
var i;
var last;
对于(i=0;i
html:
如果(last)条件为真且与
此
元素相同,则在同一元素上切换两次显示
类,因此可能这就是它保持打开状态的原因(实际上它同时关闭并再次打开)
因此,请尝试检查您是否没有像这样切换相同的元素:
if (last && last != this) {
last.nextElementSibling.classList.toggle("show");
}
this.nextElementSibling.classList.toggle("show");
我希望它能有所帮助。使用.toggle()而不是.toggle(“show”)
if (last && last != this) {
last.nextElementSibling.classList.toggle("show");
}
this.nextElementSibling.classList.toggle("show");