我知道.scroll()会检测滚动,但是如果我希望只有当用户向下滚动时才会发生什么,反之亦然?
答案 0 :(得分:0)
没有侦听器,但是你可以让一个变量的最后位置滚动并检查新的位置。所以它会是这样的:
保留一个变量,例如last_scroll_position
,如果有滚动,如果last_scroll_position - current_position > 0
,则用户向上滚动,如果小于0则向下滚动。
供进一步参考:
Differentiate between scroll up/down in 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)
});