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

时间:2019-10-12 10:47:57

标签: javascript html css drop-down-menu dropdown


我正在尝试做到这一点-在您可以在this W3Schools example中看到的垂直菜单中(原始菜单为that)-当下拉列表打开时,其他菜单都关闭了。
< br /> 目前-从演示中可以看到-可以同时打开更多下拉菜单,但我希望仅一个可以单独显示,当我单击另一个按钮时,下拉菜单会自行关闭。

(对不起,我的英语不好,但我是意大利语,希望您理解我的问题。)
你知道怎么做吗?

谢谢



Here you can see that currently more dropdowns can be opened, which I don't want

1 个答案:

答案 0 :(得分:0)

对于在Stack Overflow上提出的问题的答复很好。

据我了解,您希望在手风琴式下拉菜单中同时打开和关闭菜单。

我为您创建了一个工作代码。希望它能满足您的要求。

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";
        }

    }

工作小提琴:- https://jsfiddle.net/fve7x8pr/1/

谢谢