【问题标题】:jQuery - Run a function when user has scrolled up 100px from current locationjQuery - 当用户从当前位置向上滚动 100 像素时运行一个函数
【发布时间】:2013-04-18 11:45:26
【问题描述】:

当用户从当前位置向下滚动(任意数量的像素)时,我试图在用户向上滚动 100 像素时运行一个函数并运行另一个函数。因此,如果用户向下滚动页面的一半然后开始向上滚动,我需要一个函数在他们从当前存储的 scrollTop 值向上滚动 100 像素后运行。

如果用户在页面下方 700 像素并且他们开始向上滚动,我需要一个函数在他们达到 600 像素时运行。这应该是动态的,无论用户在页面的何处。

作为一个起点,我有:

var lastScrollTop = 0;

$(window).scroll(function(event){
    var st = $(this).scrollTop();

    if (st > lastScrollTop){
        // Scrolling down
    } else {
        // Scrolling up
    }
    lastScrollTop = st;
});

谢谢

【问题讨论】:

  • 到底是什么问题?另外,我建议你阅读一下 John Resig 关于attaching handlers to the window scroll event的博客文章
  • @billyonecan 当用户从页面上的任何位置向上滚动 100 像素时,我正在尝试运行一个函数。因此,如果它们向下 700 像素然后向上滚动并且当它们达到 600 像素时功能将运行。问题已编辑。

标签: jquery scroll


【解决方案1】:

jsFiddle(http://jsfiddle.net/nick_craver/gWD66/1/)

试试这个链接。可能对你很有帮助

使用此代码

 <script type="text/javascript">
var position = $(window).scrollTop();
$(window).scroll(function() {
    var scroll = $(window).scrollTop();
    if(scroll > position) {
      moveCarDownward(scroll);  // $('#status').html('going down!');
    } else {
       moveCarUpward(scroll);  //$('#status').html('going up!');
    }
    position = scroll;
});

另一个链接,其中一个在 javascript link

【讨论】:

  • 谢谢。当用户开始向上滚动时,我正在尝试运行一个函数,而不是到达底部
猜你喜欢
  • 2015-10-27
  • 1970-01-01
  • 2012-11-28
  • 1970-01-01
  • 1970-01-01
  • 2015-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多