Last active
March 7, 2021 19:57
-
-
Save javierarcheni/40755e3ba228fa9bd6e1281babc33515 to your computer and use it in GitHub Desktop.
Ejemplo de desplazamiento scrollIntoView()
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Ejemplo de código que permite asignar método de desplazamiento en un menú gracias a scrollIntoView() | |
Referencia: https://developer.mozilla.org/es/docs/Web/API/Element/scrollIntoView | |
Válido para ciertos navegadores (requiere polyfill para dar soporte a otros) | |
*/ | |
/* Asignamos a una variable todos los elementos anchor que contengan la clase scrollTo */ | |
let buttons = document.querySelectorAll('a.scrollTo'); | |
/* Recorremos la lista de elementos para asignar un receptor al evento click */ | |
buttons.forEach((button) => { | |
button.addEventListener('click', (e) => { | |
/* evitamos que se ejecute el comportamiento por defecto */ | |
e.preventDefault(); | |
/* obtenemos el valor del atributo href para saber hacia dónde desplazarse */ | |
let target = e.currentTarget.getAttribute('href'); | |
/* Asignamos el método a cada elemento pasando los atributos opcionales que queramos */ | |
document.querySelector(target).scrollIntoView({ | |
behavior: 'smooth', | |
block: 'end' | |
}); | |
}); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment