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

128
Vistas
Modernice el código Javascript para una animación de menú desplegable

En una publicación relacionada con otra pregunta, un usuario me sugirió que modernizara el código js. Use específicamente x.classList.includes() , x.classList.add() y x.classList.remove() .

Así que traté de seguir la sugerencia e hice lo que ves a continuación. El menú desplegable funciona bien, la única duda que queda es cómo implementar x.classList.includes() ? Aunque todo funciona como debería, me gustaría saber si puedo mejorar aún más el código.

También quería entender cuál es la diferencia entre el código antiguo y el nuevo. ¿Hay algún cambio en el rendimiento, la funcionalidad o cualquier otra cosa? Lo siento pero soy nuevo, estoy tratando de aprender y la pila es muy útil.

También quería preguntar, ¿cómo puedo agregar un ícono al botón que cambia cuando el menú está abierto o cerrado? Aquí encuentras la pregunta sobre el icono, si me puedes ayudar te lo agradecería. Cómo agregar menú desplegable de iconos animados abierto / cerrado

Disculpen el mal inglés, no lo estoy haciendo muy bien.

Proyecto: https://jsfiddle.net/Snorlax93x/v0c39heo/2/

Antiguo código Js

 var menu = document.querySelector(".user_menu_button"); function myFunction() { var x = document.getElementById("Demo"); if (x.className.indexOf("w3-show") == -1) { x.className += " w3-show"; } else { x.className += " w3-hide"; setTimeout(function(){ x.className = x.className.replace(" w3-show", ""); x.className = x.className.replace(" w3-hide", ""); }, 100) } }

Nuevo código Js

 var menu = document.querySelector(".user_menu_button"); function myFunction() { var x = document.getElementById("Demo"); if (x.className.indexOf("w3-show") == -1) { x.classList.add ("w3-show"); } else { x.classList.add("w3-hide"); setTimeout(function(){ x.classList.remove("w3-show"); x.classList.remove("w3-hide"); },100) } }
about 4 years ago · Juan Pablo Isaza
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