Recent Updates
- » April 25, 2010 - jQuery plugin: Bottom Event
- » February 21, 2010 - Bean Pattern in PHP5
- » October 22, 2009 - jQuery plugin: Scroll Loader
- » October 18, 2009 - jqModal IE7 Black Flicker Bug
- » August 09, 2009 - Restaurant Tables
Adds a “bottom” event that will be triggered when the user has scrolled to the bottom or within proximity to the bottom of an element. This is essentially a the same as my previous scrollLoader plugin, though more generic for other use cases.
$(element).bottom(options);
proximity (optional – default: 0): How close to the scrollbar is to the bottom of the element before triggering a load. Use proximity: 0 for absolute bottom.
Proximity = (total scroll height – current scroll position) / total scroll height.
// we start with 1 page of data
var page = 1;
$(document).ready(function() {
$(window).bottom();
$(window).bind("bottom", function() {
var obj = $(this);
// since this ajax call might take a while
if (!obj.data("loading")) {
obj.data("loading", true);
$("#news_list").append("<li>Loading...</li>");
$.getJSON("/news/list?page=" + (++page), function(data) {
// remove the loading text
$("#news_list li:last").remove();
for (var i = 0; i < data.news.length; i++) {
$("#news_list").append("<li>" + data.news[i].headline + "</li>");
}
// now that the ajax call is done, we can re-enable this
obj.data("loading", false);
});
}
});
});
Demo - bottom bound to both the window and an element with overflow: auto
Download at GitHub - jquery.bottom-1.0.js