Created
June 12, 2013 18:11
-
-
Save plasticmind/5767694 to your computer and use it in GitHub Desktop.
Behavior for Infinite Scroll jQuery plugin: infinite scrolling doesn't begin until after a manual trigger is clicked.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
-------------------------------- | |
Infinite Scroll Behavior | |
Simply Recipes Mobile Style | |
: Infinite scroll waits for a one-time manual trigger | |
-------------------------------- | |
by Jesse Gardner, http://plasticmind.com | |
*/ | |
$.extend($.infinitescroll.prototype,{ | |
_setup_simplyrecipes: function infscr_setup_simplyrecipes () { | |
var instance = this; | |
var opts = this.options; | |
this._binding('bind'); | |
this._numScrolls = 0; // Register a scroll counter | |
this.options.loading.start = function (opts) { | |
if(instance._numScrolls==0) { // First scroll requires manual click | |
$(opts.navSelector).show(); | |
$(opts.nextSelector).bind('click', function(e) { | |
e.preventDefault(); | |
$(opts.navSelector).fadeOut('fast'); | |
opts.loading.msg.appendTo(opts.loading.selector).fadeIn('fast'); | |
instance.beginAjax(opts); | |
}); | |
} else { // Anything after that happens automatically | |
$(opts.navSelector).hide(); | |
opts.loading.msg.appendTo(opts.loading.selector).show(opts.loading.speed); | |
instance.beginAjax(opts); | |
} | |
} | |
this.options.loading.finished = function() { | |
opts.loading.msg.fadeOut('fast'); | |
instance._numScrolls++; | |
} | |
return false; | |
} | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment