javascript - 打开菜单下拉菜单时,关闭其他菜单 - Javascript

标签 javascript html css drop-down-menu dropdown


我正在努力做到这一点 - 在垂直菜单中,您可以在 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/

相关文章:

javascript - 无法访问 $watch 内的范围变量

css - twitter bootstrap - 选择表单后搜索表单中的图标消失

javascript - 在每秒 td 中选择 span,它周围没有 anchor

javascript - js如何避免第一个参数必须是字符串或Buffer Node

javascript - 使用 styled props 将动态 css 属性应用到 div

javascript - knockout - 使用 View 模型数据传递子数组

html - 是否可以在 XML 属性中包含 HTML 文本或 CDATA?

html - 在以 HTML 加载图像之前获取图像高度

php - 选择州后更新城市列表

html - img 相对于包含的 div 的宽度