7

将滚动事件绑定到对象后,如何获取用户滚动的量?

$(selector).scroll(function(e) {
    // get scroll amount
});

Firefox 和 Opera 具有该属性detail,而 IE、Safari 和 Opera 具有wheelData. 更糟糕的是,Firefox 和 Opera 的评分是 -3 到 3,而 IE 和 Safari 的评分是 -120 到 120。

jQuery 是否为此提供了一个单一的规范化属性?

4

2 回答 2

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


更新:

是第二个示例,它显示了如何拥有一个根据 scoll 事件更新的画布。

于 2012-06-22T15:07:12.497 回答
0

您可以为此使用 scrollTop 吗?

var amount = $(window).scrollTop();
于 2012-06-22T15:09:24.943 回答