【问题标题】:jquery Scroll event in $(window), find out the position difference$(window)中的jquery Scroll事件,找出位置差异
【发布时间】:2014-03-21 23:28:42
【问题描述】:

我正在使用:

$(window).scroll(function(e){
.....
});

如何找出滚动的像素数(以及方向,如果是绝对数)?

感谢

【问题讨论】:

标签: jquery


【解决方案1】:

这是一种方法:

jQuery(function($) {
    var lastScroll = document.body.scrollTop;
    $(window).scroll(function(e) {
        var newScroll = document.body.scrollTop;
        console.log(newScroll - lastScroll);
        lastScroll = newScroll;
    });
});

【讨论】:

  • 这比我的回答更有用,因为您正在获取任何给定滚动的滚动值,而不仅仅是从文档加载时开始。
【解决方案2】:

使用scrollTop 确定您要查找的内容。

【讨论】:

  • 我不是做卷轴的人。当用户发生滚动时,我正在抓取事件。我想知道它滚动了多少
  • scrollTop 将返回一个像素值,如果您没有将页面从文档顶部滚动的距离传递给它。也许为您想弄清楚的内容提供更多示例代码。
  • 对不起,我会试试看。我认为 scrollTop 只是一个 void 函数
【解决方案3】:

以下行不适用于 Firefox 19(我今年更新:2013)。

var lastScroll = document.body.scrollTop;

解决方案,也将提高跨浏览器的兼容性,是使用 jQuery 调用:

var lastScroll = $(document).scrollTop();

最终结果:

$(function(){
    var lastScroll = $(document).scrollTop();
    $(window).scroll(function(e) {
        var newScroll = $(document).scrollTop();
        console.log(newScroll - lastScroll);
        lastScroll = newScroll;
    });
});

享受吧!

【讨论】:

    【解决方案4】:

    你可以试试这个:

    $('selector').bind('scroll', function(e){
        e.currentTarget.scrollTop; // .scrollLeft ...
    });
    

    【讨论】:

      猜你喜欢
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      • 2012-12-02
      • 1970-01-01
      相关资源
      最近更新 更多