diff --git a/plugins/InfiniteScroll/InfiniteScrollPlugin.php b/plugins/InfiniteScroll/InfiniteScrollPlugin.php index 84df2ef888..376d88abb0 100644 --- a/plugins/InfiniteScroll/InfiniteScrollPlugin.php +++ b/plugins/InfiniteScroll/InfiniteScrollPlugin.php @@ -40,6 +40,7 @@ class InfiniteScrollPlugin extends Plugin function onEndShowScripts($action) { + $action->inlineScript('var infinite_scroll_on_next_only = ' . ($this->on_next_only?'true':'false') . ';'); $action->script($this->path('jquery.infinitescroll.js')); $action->script($this->path('infinitescroll.js')); } diff --git a/plugins/InfiniteScroll/README b/plugins/InfiniteScroll/README index 47e265b051..38462aaf6e 100644 --- a/plugins/InfiniteScroll/README +++ b/plugins/InfiniteScroll/README @@ -3,7 +3,25 @@ When a user scrolls towards the bottom of the page, the next page of notices is automatically retrieved and appended. This means they never need to click "Next Page", which dramatically increases stickiness. +Note that there is a configuration option to make it so that the plugin doesn't +trigger when the user approaches the bottom of the page, but instead triggers +when the "next" button is clicked. + Installation ============ -Add "addPlugin('InfiniteScroll');" to the bottom of your config.php -That's it! +Add "addPlugin('InfiniteScroll', + array('setting'=>'value', 'setting2'=>'value2', ...);" +to the bottom of your config.php + +Settings +======== +on_next_only (false): trigger infinite scroll when the next button is clicked. +Note that this means you really don't have "infinite scrolling" as the trigger +is clicking, not scrolling. + +Example +======= +addPlugin('InfiniteScroll', array( + 'on_next_only'=>false +)); + diff --git a/plugins/InfiniteScroll/infinitescroll.js b/plugins/InfiniteScroll/infinitescroll.js index 961c320916..f28c90a808 100644 --- a/plugins/InfiniteScroll/infinitescroll.js +++ b/plugins/InfiniteScroll/infinitescroll.js @@ -1,7 +1,7 @@ jQuery(document).ready(function($){ $('notices_primary').infinitescroll({ debug: false, - infiniteScroll : false, + infiniteScroll : !infinite_scroll_on_next_only, nextSelector : 'body#public li.nav_next a,'+ 'body#all li.nav_next a,'+ 'body#showstream li.nav_next a,'+ @@ -12,9 +12,9 @@ jQuery(document).ready(function($){ loadingImg : $('address .url')[0].href+'plugins/InfiniteScroll/ajax-loader.gif', text : "Loading the next set of posts...", donetext : "Congratulations, you\'ve reached the end of the Internet.", - navSelector : ".pagination", + navSelector : "#pagination", contentSelector : "#notices_primary ol.notices", - itemSelector : "#notices_primary ol.notices li" + itemSelector : "#notices_primary ol.notices > li" },function(){ // Reply button and attachment magic need to be set up // for each new notice.