I assign an active class in my menu, but the active class is not removed from the mobile menu, it always remains active. And also, if the subcategory is selected, I want the category itself to have an active class. I tried, I couldn't. Thank you in advance to the friends who helped.
For example, if category1.php page is open, "category" has the deactivated class.
function updateMenu(url) {
const active = document.querySelector('.menu-item.active');
if (active !== null) {
active.classList.remove('active');
}
const links = Array.from(document.querySelectorAll('.menu-item'));
links.forEach(function(li){
let anchor = li.querySelector("a");
if(url.indexOf(anchor.href) > -1){
li.classList.add("active");
}
});
}
updateMenu(window.location.href);
<div class="header_side_container">
<div class="header_builder_component">
<nav class="main-menu">
<ul id="menu-main-menu" class="menu">
<li class="menu-item">
<a href="home.php"><span>Home</span></a>
</li>
<li class="menu-item">
<a href="#"><span>category</span></a>
<ul class="sub-menu">
<li class="menu-item">
<a href="Category1.php">
<span>Category 1</span>
</a>
</li>
<li class="menu-item">
<a href="Category2.php">
<span>Category 2</span>
</a>
</li>
</ul>
</li>
<li class="menu-item">
<a href="gallery.php"><span>gallery</span></a>
</li>
<li class="menu-item">
<a href="about.php"><span>about</span></a>
</li>
<li class="menu-item">
<a href="contact.php"><span>contact</span></a>
</li>
</nav>
</div>
</div>
<!--Mobil-->
<nav class="mobile_menu">
<ul id="menu-top_menu-1">
<li class="menu-item">
<a href="home.php"><span>Home</span></a>
</li>
<li class="menu-item">
<a href="#"><span>category</span></a>
<ul class="sub-menu">
<li class="menu-item">
<a href="Category1.php">
<span>Category 1</span>
</a>
</li>
<li class="menu-item">
<a href="Category2.php">
<span>Category 2</span>
</a>
</li>
</ul>
</li>
<li class="menu-item">
<a href="gallery.php"><span>gallery</span></a>
</li>
<li class="menu-item">
<a href="about.php"><span>about</span></a>
</li>
<li class="menu-item">
<a href="contact.php"><span>contact</span></a>
</li>
</ul>
</nav>