]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/InfiniteScroll/jquery.infinitescroll.js
Misses this file to merge. I like the comments.
[quix0rs-gnu-social.git] / plugins / InfiniteScroll / jquery.infinitescroll.js
index 670686b0e69578aa2989dc92998ad6bd281d5bb5..dd61f8b18af9a49f43b0edf2f1edfac6849fd9a2 100644 (file)
@@ -21,7 +21,7 @@
     // grab each selector option and see if any fail.
     function areSelectorsValid(opts){
       for (var key in opts){
-        if (key.indexOf && key.indexOf('Selector') && $(opts[key]).length === 0){
+        if (key.indexOf && (key.indexOf('Selector') != -1) && $(opts[key]).length === 0){
             debug('Your ' + key + ' found no elements.');    
             return false;
         } 
     
         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++;
       } 
     });
     
-    // 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;
   $.infinitescroll = {     
         defaults      : {
                           debug           : false,
+                          infiniteScroll  : true,
                           preload         : false,
                           nextSelector    : "div.navigation a:first",
                           loadingImg      : "http://www.infinite-scroll.com/loading.gif",