Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

166
Vistas
Cómo relacionar el elemento del menú con la sección, HTML, CSS, JavaScript agregar clase

Hago un menú y alguna sección. Este sitio web funciona como vcard, por lo que cuando hizo clic en un elemento del menú, debe agregar la clase mostrar a la sección y mostrar esta sección y la clase activa al elemento del menú. Entonces, el elemento del menú es simple y funciona para mí, pero ahora cómo agregar un espectáculo de clase.

 HTML <nav class="nav-desktop"> <div class="nav-items"> <a class="nav-item" href="#about">About</a> <a class="nav-item" href="#ourteam">Skills</a> <a class="nav-item" href="#contact">Contact</a> </div> </nav> <section class="about section show" id="about"></section> <section class="ourteam section" id="ourteam"></section> <section class="contact section" id="contact"></section>
 const allNavItem = document.querySelectorAll('.nav-item') function removeActiveMenu() { allNavItem.forEach(item => { item.classList.remove('active') }) } allNavItem.forEach(item => { item.addEventListener('click', () => { removeActiveMenu() item.classList.add('active') }) })

Entonces, ahora, ¿cómo puedo agregar la clase 'show' a la sección ourteam cuando hago clic en ourteam en el menú y lo elimino de la sección acerca de? Cómo combinar esto.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Simplemente elimine todo el estado activo / mostrar y luego agregue nuevamente para el elemento adecuado

 const sections = document.querySelectorAll('.section'); const navItems = document.querySelectorAll('.nav-item'); navItems.forEach(navItem => { navItem.addEventListener('click', function(e) { e.preventDefault(); // remove all active / show state navItems.forEach( item => item.classList.remove('active') ); sections.forEach( section => section.classList.remove('show') ); // add active / show state again this.classList.add('active'); const target = this.getAttribute('href'); document.querySelector(target)?.classList.add('show'); }); });
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda