对于聊天应用,我想知道我的离子内容是否在底部滚动,仅在用户已经在底部时才添加消息后再次向下滚动。
是否可以轻松检测滚动内容的时间?
答案 0 :(得分:9)
查看$ionicScrollDelegate.getScrollView()
,我找到了__maxScrollTop
属性。
答案很简单:
var scrollTopCurrent = $ionicScrollDelegate.getScrollPosition().top;
var scrollTopMax = $ionicScrollDelegate.getScrollView().__maxScrollTop;
var scrollBottom = scrollTopMax - scrollTopCurrent;
if (!scrollBottom) {
$ionicScrollDelegate.scrollBottom(true);
}
您甚至可以通过检查scrollBottom
是否低于容差限制来添加一些容差。
答案 1 :(得分:1)
我们可以在内容上使用滚动或滚动完成事件,然后我们需要在控制器中调用函数,如下所示
$scope.checkScroll = function() {
var currentTop = $ionicScrollDelegate.getScrollPosition().top;
var maxTop = $ionicScrollDelegate.getScrollView().__maxScrollTop;
if (currentTop >= maxTop) {
// hit the bottom
}
};
此处提供了完整的教程http://freakyjolly.com/detect-ionic-view-page-bottom-load-infinite-data/