有没有办法使用 iScroll v4检测用户何时位于页面底部?
答案 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数学来亲自配置它。
希望这有帮助!