Skip to content
Infinite Scrolling for AngularJS
Branch: master
Clone or download
Pull request Compare This branch is 2 commits ahead, 75 commits behind sroze:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Build Status

ngInfiniteScroll is a directive for AngularJS to evaluate an expression when the bottom of the directive's element approaches the bottom of the browser window, which can be used to implement infinite scrolling.


Check out the running demos at the ngInfiniteScroll web site.

Version Numbers

ngInfinite Scroll follows semantic versioning and uses the following versioning scheme:

  • Versions starting with 0 (e.g. 0.1.0, 0.2.0, etc.) are for initial development, and the API is not stable
  • Versions with an even minor version (1.0.0, 1.4.0, 2.2.0, etc.) are stable releases
  • Versions with an odd minor version (1.1.0, 1.3.0, 2.1.0, etc.) are development releases

The download page allows you to pick among various versions and specify which releases are stable (not including pre-release builds).

Getting Started

  • Download ngInfiniteScroll from the download page on the ngInfiniteScroll web site or install it with:

    • Bower via bower install ngInfiniteScroll
    • Nuget via PM> Install-Package ng-infinite-scroll
  • Include the script tag on your page after the AngularJS and jQuery script tags (ngInfiniteScroll requires jQuery to run)

     <script type='text/javascript' src='path/to/jquery.min.js'></script>
     <script type='text/javascript' src='path/to/angular.min.js'></script>
     <script type='text/javascript' src='path/to/ng-infinite-scroll.min.js'></script>
  • Ensure that your application module specifies infinite-scroll as a dependency:

     angular.module('myApplication', ['infinite-scroll']);
  • Use the directive by specifying an infinite-scroll attribute on an element.

     <div infinite-scroll="myPagingFunction()" infinite-scroll-distance="3"></div>

Note that neither the module nor the directive use the ng prefix, as that prefix is reserved for the core Angular module.

Detailed Documentation

ngInfiniteScroll accepts several attributes to customize the behavior of the directive; detailed instructions can be found on the ngInfiniteScroll web site.


If you use AngularDart, Juha Komulainen has a port of the project you can use.


ngInfiniteScroll is licensed under the MIT license. See the LICENSE file for more details.


ngInfiniteScroll uses Protractor for testing. Note that you will need to have Chrome browser, and the grunt-cli npm package installed globally if you wish to use grunt (npm install -g grunt-cli). Then, install the dependencies with npm install.

  • grunt test:protractor-local - run tests

Thank you very much @pomerantsev for your work on these Protractor tests.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.