【问题标题】:Ionic : how to detect bottom scroll?离子:如何检测底部滚动?
【发布时间】:2017-04-02 02:56:52
【问题描述】:

对于聊天应用程序,我想知道我的 ion-content 是否在底部滚动,仅当用户已经在底部时才添加消息后再次向下滚动。

是否有可能轻松检测到内容何时滚动?

【问题讨论】:

  • 您没有提供应用程序中的代码,也没有明确尝试自己解决或研究问题。如果您没有立即回答您自己的问题,那么当您无事可做时,您如何期望有人提供帮助? 是我投反对票的原因。
  • 是的,但是 SO 提供了一种方法来回答您自己的问题,以帮助社区,我认为对于使用 Ionic 的任何人来说,答案都是不言自明的......尝试提出一个新问题:不要你没有看到表单底部的复选框:“回答你自己的问题——分享你的知识,问答式”
  • 发生了什么事:我搜索了大约半小时,没有找到任何关于 SO 的解决方案。当我想出一些东西时,我认为与其他人分享它应该是件好事。请不要判断得太快,伙计。

标签: javascript angularjs ionic-framework


【解决方案1】:

查看$ionicScrollDelegate.getScrollView(),我找到了__maxScrollTop 属性。

答案很简单:

var scrollTopCurrent = $ionicScrollDelegate.getScrollPosition().top;
var scrollTopMax = $ionicScrollDelegate.getScrollView().__maxScrollTop;
var scrollBottom = scrollTopMax - scrollTopCurrent;

if (!scrollBottom) {
  $ionicScrollDelegate.scrollBottom(true);
}

您甚至可以通过检查 scrollBottom 是否低于您的容差限制来添加一些容差。

【讨论】:

  • 您在几秒钟内就提出并回答了自己的问题?
  • 这就是为什么有一个“回答你自己的问题——分享你的知识,问答式”复选框的原因......为了帮助别人,因为我必须搜索半小时才能找到解决方案。 .. 那么为什么要投反对票呢?
【解决方案2】:

我们可以在内容上使用 on-scrollon-scroll-complete 事件,然后我们需要在控制器中调用函数,如下所示

 $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/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-03
    • 2021-06-29
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-11
    • 1970-01-01
    相关资源
    最近更新 更多