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"); } }