我正在努力做到这一点 - 在垂直菜单中,您可以在 this W3Schools example 中看到(原来的是 that )- 当一个下拉菜单打开时,其他的都关闭。
目前 - 正如您从演示中看到的那样 - 可以同时打开更多下拉菜单,但我希望只有一个可以单独显示,当我点击另一个按钮时,下拉菜单会自行关闭。
(抱歉我的英语不好,但我是意大利人,希望你能理解我的问题)。
你知道怎么做吗?
谢谢
Here you can see that currently more dropdowns can be opened, which I don't want
最佳答案
很高兴就您在 Stack Overflow 上提出的问题回复您。
据我了解,您希望侧面有一个 Accordion 式下拉菜单,作为同时打开和关闭的菜单。
我已经为您创建了一个工作代码。希望能满足您的要求。
Javascript:-
var accItem = document.getElementsByClassName('dropdown-container');
var accHD = document.getElementsByClassName('dropdown-btn');
for (i = 0; i < accHD.length; i++) {
accHD[i].addEventListener('click', toggleItem, false);
}
function toggleItem() {
var itemClass = this.nextElementSibling;
for (i = 0; i < accItem.length; i++) {
accItem[i].style.display = "none";
accHD[i].classList.remove("active");
}
if (itemClass.style.display === "none") {
this.classList.add("active");
this.nextElementSibling.style.display = "block";
}
}
工作 fiddle :- https://jsfiddle.net/fve7x8pr/1/
谢谢
关于javascript - 打开菜单下拉菜单时,关闭其他菜单 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58353333/