是否有一个javascript事件侦听器只在用户向上滚动时检测,或者只在用户向下滚动时检测
Is there a javascript event listener that detects only when the user scrolls up, or only when the user scrolls down?
我知道。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)
});
相关文章:
- 检测滚动意图
- 如何检测滚动事件是否像在触摸设备上一样只触发一次
- jQuery:如何检测用户何时再次滚动到顶部
- 当静态元素与滚动上的固定元素位置重叠时进行检测
- 如何使用javascript检测不可滚动元素中的滚动事件和方向
- 如何检测用户何时在主动滚动
- 如何检测用户是否移动了滚动条
- 检测垂直滚动和滚动条宽度,并将宽度更改应用于正文
- 检测可滚动元素内的滚动位置
- HTML5运动检测、抓取和滚动
- 检测触摸向上或向下滚动
- 滚动检测没有'调用新页面Javascript后无法工作
- 滚动后,检测元素何时返回到原始位置
- jquery检测用户何时滚动到列表顶部
- JS中的触摸板滚动检测,没有库
- 不连续滚动-检测用户是否停止滚动
- 如何检测iPhone上滚动页面的比例
- 通过用户滚动量进行检测
- iScroll页面当前正在滚动检测
- Ember JS中的滚动检测