Make the infinite scroll plugin have a non-infinite scroll (button click to scroll) mode

This commit is contained in:
Craig Andrews 2009-09-19 22:53:39 -04:00
parent 74296fa12c
commit cf8944526e
3 changed files with 18 additions and 8 deletions

View File

@ -40,7 +40,7 @@ class InfiniteScrollPlugin extends Plugin
function onEndShowScripts($action)
{
$action->script('plugins/InfiniteScroll/jquery.infinitescroll.min.js');
$action->script('plugins/InfiniteScroll/jquery.infinitescroll.js');
$action->script('plugins/InfiniteScroll/infinitescroll.js');
}
}

View File

@ -1,6 +1,7 @@
jQuery(document).ready(function($){
$('notices_primary').infinitescroll({
debug: true,
infiniteScroll : false,
nextSelector : "li.nav_next a",
loadingImg : $('address .url')[0].href+'plugins/InfiniteScroll/ajax-loader.gif',
text : "<em>Loading the next set of posts...</em>",
@ -12,4 +13,3 @@ jQuery(document).ready(function($){
NoticeAttachments();
});
});

View File

@ -92,14 +92,14 @@
if (props.isDuringAjax || props.isInvalidPage || props.isDone) return;
if ( !isNearBottom(opts,props) ) return;
if ( opts.infiniteScroll && !isNearBottom(opts,props) ) return;
// we dont want to fire the ajax multiple times
props.isDuringAjax = true;
// show the loading message and hide the previous/next links
props.loadingMsg.appendTo( opts.contentSelector ).show();
$( opts.navSelector ).hide();
if(opts.infiniteScroll) $( opts.navSelector ).hide();
// increment the URL bit. e.g. /page/3/
props.currPage++;
@ -205,10 +205,19 @@
}
});
// bind scroll handler to element (if its a local scroll) or window
$(opts.localMode ? this : window)
.bind('scroll.infscr', function(){ infscrSetup(path,opts,props,callback); } )
.trigger('scroll.infscr'); // trigger the event, in case it's a short page
if(opts.infiniteScroll){
// bind scroll handler to element (if its a local scroll) or window
$(opts.localMode ? this : window)
.bind('scroll.infscr', function(){ infscrSetup(path,opts,props,callback); } )
.trigger('scroll.infscr'); // trigger the event, in case it's a short page
}else{
$(opts.nextSelector).click(
function(){
infscrSetup(path,opts,props,callback);
return false;
}
);
}
return this;
@ -222,6 +231,7 @@
$.infinitescroll = {
defaults : {
debug : false,
infiniteScroll : true,
preload : false,
nextSelector : "div.navigation a:first",
loadingImg : "http://www.infinite-scroll.com/loading.gif",