将滚动事件绑定到对象后,如何获取用户滚动的数量?
$(selector).scroll(function(e) {
// get scroll amount
});
Firefox和Opera的属性为detail
,而IE,Safari和Opera的属性为wheelData
。更糟糕的是,Firefox和Opera的运行范围为-3到3,IE和Safari从-120到120.
jQuery是否提供了一个规范化的属性?
答案 0 :(得分:9)
使用jQuery .scrollTop()并在滚动事件之间保存值,然后在下一个滚动事件中获取增量。
var old_scroll_top = 0;
$(document).scroll(function() {
var current_scroll_top = $(document).scrollTop();
var scroll_delta = current_scroll_top - old_scroll_top;
// do something with current_scroll_top and scroll_delta
old_scroll_top = current_scroll_top;
});
示例:强> jsFiddle
的更新强>
Here是第二个示例,它显示了如何根据scoll事件更新画布。
答案 1 :(得分:0)
你可以使用scrollTop吗?
var amount = $(window).scrollTop();