离子:如何检测底部滚动?

时间:2016-04-14 09:42:53

标签: javascript angularjs ionic-framework

对于聊天应用,我想知道我的离子内容是否在底部滚动,仅在用户已经在底部时才添加消息后再次向下滚动。

是否可以轻松检测滚动内容的时间?

2 个答案:

答案 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/