diff --git a/Changelog.md b/Changelog.md index a5719d467..dde393566 100644 --- a/Changelog.md +++ b/Changelog.md @@ -82,6 +82,7 @@ With the port to Bootstrap 3, app/views/terms/default.haml has a new structure. # 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 7696d0b15..4c245bdd0 100644 --- a/app/assets/javascripts/app/views/infinite_stream_view.js +++ b/app/assets/javascripts/app/views/infinite_stream_view.js @@ -95,12 +95,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"); } }