En mi aplicación, quiero determinar la posición de desplazamiento actual, por lo que he estado usando esto para hacerlo (fuente: https://www.codegrepper.com/code-examples/javascript/get+current+scroll+position+javascript )
window.pageYOffset || document.documentElement.scrollTopProblema: cuando hago console.log esto, solo devuelve 0 cuando la página no está posicionada y en la parte superior.
Pregunta: ¿Hay alguna forma alternativa de obtener la posición de desplazamiento actual?
Recientemente tuve el mismo problema. Entonces, para obtener la posición como un porcentaje, termino haciendo lo siguiente
window.addEventListener("scroll", function() { const maxHeight = document.body.scrollHeight - window.innerHeight; console.log((window.pageYOffset * 100) / maxHeight); }); window.innerHeight de document.body.scrollHeight porque window.pageYOffset representa la parte superior de la ventana gráfica. Entonces, para que window.pageYOffset coincida con document.body.scrollHeight , hacemos la resta anterior.
PD.: Lo anterior devuelve un número flotante. puede usar parseInt(...) para convertirlo a entero si lo desea.
Prueba window.scrollY .
La propiedad scrollY de solo lectura de la interfaz de la ventana devuelve el número de píxeles que el documento se desplaza verticalmente actualmente.
https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY