将滚动事件绑定到对象后,如何获取用户滚动的量?
$(selector).scroll(function(e) {
// get scroll amount
});
Firefox 和 Opera 具有该属性detail
,而 IE、Safari 和 Opera 具有wheelData
. 更糟糕的是,Firefox 和 Opera 的评分是 -3 到 3,而 IE 和 Safari 的评分是 -120 到 120。
jQuery 是否为此提供了一个单一的规范化属性?
将滚动事件绑定到对象后,如何获取用户滚动的量?
$(selector).scroll(function(e) {
// get scroll amount
});
Firefox 和 Opera 具有该属性detail
,而 IE、Safari 和 Opera 具有wheelData
. 更糟糕的是,Firefox 和 Opera 的评分是 -3 到 3,而 IE 和 Safari 的评分是 -120 到 120。
jQuery 是否为此提供了一个单一的规范化属性?
使用 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
更新:
这是第二个示例,它显示了如何拥有一个根据 scoll 事件更新的画布。
您可以为此使用 scrollTop 吗?
var amount = $(window).scrollTop();