Entonces estoy tratando de usar JavaScript on scroll
para llamar a una función. Pero quería saber si podía detectar la dirección del desplazamiento sin usar jQuery. Si no es así, ¿hay alguna solución?
Estaba pensando en poner un botón 'arriba', pero me gustaría evitarlo si pudiera.
Ahora acabo de intentar usar este código pero no funcionó:
if document.body.scrollTop <= 0 {
alert ("scrolling down")
} else {
alert ("scrolling up")
}
javascript
scroll
onscroll
dwinnbrown
fuente
fuente
wheelDelta
del evento. No es para varios navegadores. Ver phrogz.net/js/wheeldelta.htmlRespuestas:
Se puede detectar almacenando el
scrollTop
valor anterior y comparando el valor actual de scrollTop con él.JavaScript:
fuente
lastScrollTop
en pageYOffset || scrollTop en lugar de asumir 0Una forma sencilla de capturar todos los eventos de desplazamiento (toque y rueda)
fuente
Use esto para encontrar la dirección de desplazamiento. Esto es solo para encontrar la dirección del desplazamiento vertical. Admite todos los navegadores cruzados.
Ejemplo
fuente
Puedes intentar hacer esto.
fuente
Esto es una adición a lo que ha respondido prateek.Parece haber un error en el código en IE, así que decidí modificarlo un poco nada especial (solo otra condición)
fuente
// Inicialización
// Escuchando el evento
fuente
Puede obtener la posición de la barra de desplazamiento usando
document.documentElement.scrollTop
. Y luego es simplemente cuestión de compararlo con la posición anterior.fuente
Este código simple funcionaría: revise la consola para ver los resultados.
fuente
Yo personalmente uso este código para detectar la dirección de desplazamiento en javascript ... Solo tienes que definir una variable para almacenar lastscrollvalue y luego usar esto if & else
fuente
Código simple
fuente