Я знаю, что.scroll() обнаруживает прокрутку, но что, если я хочу, чтобы что-то произошло, только когда пользователь прокручивается вниз или наоборот?
Для этого нет слушателя, но у вас может быть переменная с последней прокруткой позиции и проверка на новую. Так было бы примерно так:
Храните переменную, скажем, last_scroll_position
, и когда у вас есть прокрутка, если last_scroll_position - current_position > 0
, пользователь прокручивается вверх и вниз, если он меньше 0.
Для дальнейшего использования:
Различать прокрутку вверх/вниз в jquery?
Пример:
<div style='height:10000px;'>
var last_scroll=0;
$(window).scroll(function() {
var direction='none';
var current_scroll=$(this).scrollTop();
if(current_scroll < last_scroll) direction='up';
else if(current_scroll > last_scroll) direction = 'down';
last_scroll=current_scroll;
console.log(direction)
});