Waypoints is a small jQuery plugin that makes it easy to execute a function whenever you scroll to an element.
$('.entry').waypoint(function() {
alert('You have scrolled to an entry.');
});
Read the full documentation for more details on usage and customization.
Waypoints can be used as a base for several common scroll-based UI patterns. Check out these examples of:
Copyright (c) 2011-2012 Caleb Troughton Dual licensed under the MIT license and GPL license.
Waypoints has been tested to work with jQuery versions 1.4.3+ in IE6+, FF3+, Safari 4+, Chrome 6+, and Opera 11+. Other browsers and jQuery versions may work fine, but this is all I've looked at so far.
Unit tests for Waypoints are written with Jasmine and jasmine-jquery. You can run them here. If any of the tests fail, please open an issue and include the browser used, operating system, and description of the failed test.
- Actually fix the post-load bug in Issue #28 from v1.1.3.
- Fix potential memory leak by unbinding events on empty context elements.
- Make plugin compatible with Browserify/RequireJS. (Thanks @cjroebuck)
- Add handler option to give alternate binding method.
- Fix cases where waypoints are added post-load and should be triggered immediately.
- Fixed error thrown by waypoints with triggerOnce option that were triggered via resize refresh.
- Fixed bug in initialization where all offsets were being calculated as if set to 0 initially, causing unwarranted triggers during the subsequent refresh.
- Added
onlyOnScroll
, an option for individual waypoints that disables triggers due to an offset refresh that crosses the current scroll point. (All credit to @knuton on this one.)
- Moved the continuous option out of global settings and into the options object for individual waypoints.
- Added the context option, which allows for using waypoints within any scrollable element, not just the window.
- Moved scroll and resize handler bindings out of load. Should play nicer with async loaders like Head JS and LABjs.
- Fixed a 1px off error when using certain % offsets.
- Added unit tests.
- Added $.waypoints('viewportHeight').
- Fixed iOS bug (using the new viewportHeight method).
- Added offset function alias: 'bottom-in-view'.
- Initial release.
- Audit non-iOS mobile browsers.