Итак, я пытаюсь использовать JavaScript on scroll
для вызова функции. Но я хотел знать, могу ли я определить направление прокрутки без использования jQuery. Если нет, то есть ли обходные пути?
Я думал просто поставить кнопку «вверх», но хотел бы избежать этого, если бы мог.
Я только что попробовал использовать этот код, но он не сработал:
if document.body.scrollTop <= 0 {
alert ("scrolling down")
} else {
alert ("scrolling up")
}
javascript
scroll
onscroll
dwinnbrown
источник
источник
wheelDelta
событие. Совсем не кроссбраузерность. См. Phrogz.net/js/wheeldelta.htmlОтветы:
Его можно обнаружить, сохранив предыдущее
scrollTop
значение и сравнив с ним текущее значение scrollTop.JavaScript:
источник
lastScrollTop
pageYOffset || scrollTop вместо того, чтобы принимать 0Простой способ поймать все события прокрутки (касание и колесо)
источник
Используйте это, чтобы найти направление прокрутки. Это нужно только для определения направления вертикальной прокрутки. Поддерживает все кросс-браузеры.
пример
источник
Вы можете попробовать это сделать.
источник
Это дополнение к тому, что ответил prateek. Кажется, в коде IE есть сбой, поэтому я решил немного изменить его, ничего особенного (просто еще одно условие)
источник
// Инициализация
// Слушаем событие
источник
Вы можете получить положение полосы прокрутки, используя
document.documentElement.scrollTop
. А дальше просто сравнить его с предыдущей позицией.источник
Этот простой код будет работать: проверьте консоль на предмет результатов.
источник
Я лично использую этот код для определения направления прокрутки в javascript ... Просто вам нужно определить переменную для хранения lastscrollvalue, а затем использовать это if & else
источник
Простой код
источник