From 22882aa24d334646d675d71593712fe732ffd380 Mon Sep 17 00:00:00 2001 From: augier Date: Fri, 2 Oct 2015 21:00:36 +0200 Subject: [PATCH] Infinite scroll triggered relative to last element top rather than window bottom closes #6451 --- Changelog.md | 1 + app/assets/javascripts/app/views/infinite_stream_view.js | 9 ++++----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Changelog.md b/Changelog.md index c1758e844..7128eb6a6 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,6 +1,7 @@ # 0.5.4.0 ## Refactor +* Improve infinite scroll triggering [#6451](https://github.com/diaspora/diaspora/pull/6451) ## Bug fixes diff --git a/app/assets/javascripts/app/views/infinite_stream_view.js b/app/assets/javascripts/app/views/infinite_stream_view.js index 5bbd26193..e4a5a791b 100644 --- a/app/assets/javascripts/app/views/infinite_stream_view.js +++ b/app/assets/javascripts/app/views/infinite_stream_view.js @@ -98,12 +98,11 @@ app.views.InfScroll = app.views.Base.extend({ }, infScroll : function() { - var $window = $(window) - , distFromTop = $window.height() + $window.scrollTop() - , distFromBottom = $(document).height() - distFromTop - , bufferPx = 500; + var $window = $(window), + distFromBottom = $(document).height() - $window.height() - $window.scrollTop(), + elementDistance = this.$el.children().last().offset().top - $window.scrollTop() - 500; - if(distFromBottom < bufferPx) { + if(elementDistance <= 0 || distFromBottom < 500) { this.trigger("loadMore"); } }