Angular Counter
Angular Counter is a directive to animate number increment/decrement.
Check out the demo page at http://indrimuska.github.io/angular-counter.
Dependencies
- jQuery >= 1.7.1
- jQuery Easing by gsgd, CDN here
- AngularJS
Installation
Get Angular Counter from npm
, bower
or git
:
npm install angular-counter bower install angular-counter-animation git clone https://github.com/indrimuska/angular-counter.git
Update your HTML file:
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.js"></script> <script src="./js/angular-counter.js"></script>
And your AngularJS module:
var app = angular.module('MyApp', ['counter']);
Usage
<!-- `counter` directive can be used as: Element / Class / Attribute --> <div class="counter" value="ctrl.myValue" to="ctrl.myTarget" duration="ctrl.myDuration" effect="ctrl.myEffect" finish="ctrl.counterFinish()"> {{ ctrl.myValue | number:0 }} % </div> <!-- bind counter value anywhere --> <span ng-bind="ctrl.myValue"></span>
INFO: Animation starts every time the attribute to
changes.
Directive examples: http://plnkr.co/edit/d1KPDa?p=preview
Service
Angular Counter directive makes use of a built-in service $counter
with a single function .count(..)
that requires the following parameters:
Parameter | Type | Description |
---|---|---|
object | object | Object containing the number to animate. |
property | string | Property of object to be updated. |
from | float | Initial number. |
to | float | Target number to reach. |
duration | integer | Duration of the animation in ms. |
effect | string | Effect name. |
step | function | Callback after each animation step. Remember to $apply the scope! |
finish | function | Callback at the end of the animation. |
License
Copyright (c) 2015 Indri Muska. Licensed under the MIT license.