Portanto, estou tentando usar o JavaScript on scroll
para chamar uma função. Mas eu queria saber se conseguia detectar a direção do pergaminho sem usar jQuery. Se não, há alguma solução alternativa?
Eu estava pensando em apenas colocar um botão 'para cima', mas gostaria de evitar isso se pudesse.
Acabei de tentar usar este código, mas não funcionou:
if document.body.scrollTop <= 0 {
alert ("scrolling down")
} else {
alert ("scrolling up")
}
javascript
scroll
onscroll
dwinnbrown
fonte
fonte
wheelDelta
do evento. Bastante não cross-browser. Consulte phrogz.net/js/wheeldelta.htmlRespostas:
Ele pode ser detectado armazenando o
scrollTop
valor anterior e comparando o valor atual do scrollTop com ele.JavaScript:
fonte
lastScrollTop
com pageYOffset || scrollTop em vez de assumir 0Maneira simples de capturar todos os eventos de rolagem (toque e roda)
fonte
Use para encontrar a direção de rolagem. Isso é apenas para encontrar a direção do rolo vertical. Suporta todos os navegadores cruzados.
Exemplo
fonte
Você pode tentar fazer isso.
fonte
Este é um complemento ao que Prateek respondeu. Parece haver uma falha no código do IE, então decidi modificá-lo um pouco nada extravagante (apenas outra condição)
fonte
// Inicialização
// Ouvindo no evento
fonte
Você pode obter a posição da barra de rolagem usando
document.documentElement.scrollTop
. E então é simplesmente uma questão de compará-lo com a posição anterior.fonte
Este código simples funcionaria: Verifique os resultados no console.
fonte
Eu pessoalmente uso esse código para detectar a direção de rolagem em javascript ... Você só precisa definir uma variável para armazenar lastscrollvalue e usar este if & else
fonte
Código simples
fonte