I am new in JavaScript. I already have the functionality I wanted in my navigation menu, but I think in an incorrect way because I repeat code and I can't find the way to do it in less lines.
HTML:
<nav class="nav">
<a href="#">
<img src="" alt="">
</a>
<butoon class="toggle" aria-label="Abrir menú">
<i class='bx bx-menu'></i>
</butoon>
<ul class="nav-menu">
<li class="nav-menu-item"><a class="nav-menu-link nav-link" href="#">Inicio</a></li>
<li class="nav-menu-item"><a class="nav-menu-link nav-link" href="#acerca">Acerca de</a></li>
<li class="nav-menu-item"><a class="nav-menu-link nav-link" href="#eventos">Eventos</a></li>
<li class="nav-menu-item"><a class="nav-menu-link nav-link" href="#servicios">Servicios</a></li>
<li class="nav-menu-item"><a class="nav-menu-link nav-link" href="#resultados">Resultados</a></li>
<li class="nav-menu-item"><a class="nav-menu-link nav-link" href="#galeria">Galería</a></li>
<li class="nav-menu-item"><a class="nav-menu-link nav-link nav-menu-link_active" href="#contacto">Contacto</a></li>
</ul>
</nav>
JavaScript:
const navToggle = document.querySelector(".toggle");
const navMenu = document.querySelector(".nav-menu");
const navItems = document.querySelectorAll(".nav-menu-item");
navToggle.addEventListener("click", () => {
navMenu.classList.toggle("nav-menu_visible");
});
navItems[0].addEventListener("click", () => {
navMenu.classList.toggle("nav-menu_visible");
});
navItems[1].addEventListener("click", () => {
navMenu.classList.toggle("nav-menu_visible");
});
navItems[2].addEventListener("click", () => {
navMenu.classList.toggle("nav-menu_visible");
});
navItems[3].addEventListener("click", () => {
navMenu.classList.toggle("nav-menu_visible");
});
navItems[4].addEventListener("click", () => {
navMenu.classList.toggle("nav-menu_visible");
});
navItems[5].addEventListener("click", () => {
navMenu.classList.toggle("nav-menu_visible");
});
navItems[6].addEventListener("click", () => {
navMenu.classList.toggle("nav-menu_visible");
});