Soy bastante nuevo en javascript y he intentado hacer un pequeño menú con evento de clic que puedes encontrar aquí. https://codepen.io/Laurie312/pen/YzxJJbx
El problema es que cuando haces clic fuera del menú de hamburguesas, siempre vuelves a la parte superior de la página. Ahora he visto que hay una instrucción href="javascript:void(0)" que podría ser útil, pero no estoy seguro de si debería aplicarse usando html o si necesita usarlo en paralelo con js I' También he leído que en realidad no debería usarse. No estoy seguro de si mi situación proporciona un buen caso de uso para ello.
Eché un vistazo a varios problemas en stackoverflow como se vincula a continuación y todos parecen estar estrechamente relacionados con el problema al que me enfrento, pero quería asegurarme de que entendía el problema correctamente.
la página salta a la parte superior del menú, haga clic en VBA para hacer clic en el enlace con href=javascript:void(0);
Me disculpo si esto parece una pregunta tonta. No estoy seguro de por dónde empezar.
A menos que impida el manejo de eventos predeterminado, el navegador intentará llevar al usuario al ancla <a href="#" ...> ; sin nombre, es la parte superior de la página.
Debe evitar el manejo de eventos predeterminado en su controlador de clics:
toggleButton.addEventListener('click', (evt) => { evt.preventDefault(); navList.classList.toggle('active') })Puede usar el button en lugar de a como:
aetiqueta utilizada para navegar a páginas y recursos
buttonGeneralmente realiza alguna tarea de botón, como abrir el menú de hamburguesas
<button id="toggle-button"> <span class="bar"></span> <span class="bar"></span> <span class="bar"></span> </button>y usar estilos como:
#toggle-button { ... border: none; background: transparent; }