有没有办法使用iScroll v4检测用户何时位于页面底部?
问问题
2592 次
2 回答
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!");
}});
于 2013-03-21T17:39:01.113 回答
-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 数学来亲自配置它。
希望这可以帮助!
于 2013-03-08T17:25:25.347 回答