Fix infinite scroll to work on 1.0.x

add on_next_only configuration option
This commit is contained in:
Craig Andrews 2011-04-28 13:25:16 -04:00
parent bd3eb331a8
commit d9d9a10b6f
3 changed files with 24 additions and 5 deletions

View File

@ -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'));
}

View File

@ -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
));

View File

@ -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 : "<em>Loading the next set of posts...</em>",
donetext : "<em>Congratulations, you\'ve reached the end of the Internet.</em>",
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.