iScroll,如何检测用户何时滚动到底部?

时间:2012-12-31 14:42:57

标签: jquery iscroll4 iscroll

有没有办法使用 iScroll v4检测用户何时位于页面底部?

2 个答案:

答案 0 :(得分:0)

它不是内置的,但这是一种在滚动结束时添加回调的简单方法。 (看https://github.com/cubiq/iscroll/blob/master/src/iscroll.js

宣布一个新事件(第139行)

onScrollLimit: null

然后在_move函数(第490行)中调用它

if (newY<that.maxScrollY) that.options.onScrollLimit.call(that, e);

并在_startAni函数(第768行)中调用它

if (step.y<that.maxScrollY) that.options.onScrollLimit.call(that);

最后一位的缺点是它会在开始动画时(当你抛出滚动区域时)触发事件,而不是它是否物理超过了结束。否则,在使用css转换时告诉它是非常棘手的。

然后,您需要做的就是在设置iScroll

时将其添加到您的选项中
myScroll = new iScroll('view', {onScrollLimit: function(){
    console.log("I've past the end!");
}});

答案 1 :(得分:-2)

您可以使用'onScrollEnd'监听来检测滚动的结束时间。

示例:

var thingScroll = new iScroll('thing', {
        vScroll: false,
        hScrollbar: true,
        snap: '.page',
        bounce: true,
        inertia: false,

        onScrollEnd: function() {

                          //do stuff

        } 
    });

我相信这会让你知道它何时触及底部(或底部的捕捉区域),如果你想更具体的尝试,你可以使用thingScroll.x和thingScroll.y方法以及一些jquery数学来亲自配置它。

希望这有帮助!