Home > Enterprise >  Dropdown menu remain open after click and refresh
Dropdown menu remain open after click and refresh

Time:04-29

I have a problem on how to make my dropdown remain open after clicking and avoid closing after refresh.

Here's what I've done.

var dropdown = document.getElementsByClassName("dropdown_btn");
        var i;
        
        for (i = 0; i < dropdown.length; i  ) {
            dropdown[i].addEventListener("click", function() {
                this.classList.toggle("active");
                var dropdownContent = this.nextElementSibling;
                if (dropdownContent.style.display === "block") {
                    dropdownContent.style.display = "none";
                } else {
                    dropdownContent.style.display = "block";
                }

            });
        }
        
        const currentLocation = location.href;
        const menuItem = document.querySelectorAll('a');
        const menuLength = menuItem.length
        for (let i = 0; i < menuLength; i  ) {
            if(menuItem[i].href === currentLocation){
                 menuItem[i].className = "active"
             }
         }
<button >
    <span>Sample</span>
</button>
<div >
    <a href="sample.php">Sample 1</a>
    <a href="sample.php">Sample 2</a>
</div>

CodePudding user response:

You can use the localStorage with a simply flag. On open the flag become true, on close the flag become false. For the refresh you need to test your var contains in localStorage. If is true, display the menu, if is false do not display the menu

  • Related