项目需求,需要写一个数字增量的动画特效,最后找到了countUp插件,既支持jq+html写法,又支持ng1和ng2写法,简直是太完美了。一开始不懂怎么引入模块,老是出错,多亏了网友的帮助,下面写了个demo示例。
官方地址:https://github.com/inorganik/countUp.js,根据里面提及的使用步骤来写,需要引入两个文件,并引入模块,或者改写下指令定义语句:
demo.html:
<!DOCTYPE html> <html ng-app="MeiJu" ng-controller="pageCtrl"> <head lang="en"> <Meta charset="UTF-8"> <Meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0"> <Meta name="format-detection" content="telephone=no"/> <title>积分兑换</title> </head> <body> <h2 count-up start-val="0" end-val="val">{{val}}</h2> <input type="text" ng-model="val"/> </div> <script src="dist/angular.min.js"></script> <script src="dist/countUp.min.js"></script> <script> var MeiJu = angular.module('MeiJu',[]);//这种写法是防止在公共页面全局定义了该对象,为了不破坏项目结构而做的修改 MeiJu.controller('pageCtrl',function($scope){ $scope.val=100; }) </script> <script src="dist/angular-countUp222.js"></script> </body></html>这里插件定义指令的地方需要修改下angular-countUp222.js :
**********************************************************************************************************
<!DOCTYPE html> <html ng-app="MeiJu" ng-controller="pageCtrl"> <head lang="en"> <Meta charset="UTF-8"> <Meta name="viewport" content="width=device-width,minimum-scale=1.0"> <Meta name="format-detection" content="telephone=no"/> <title>积分兑换</title> </head> <body> <h2 count-up start-val="0" end-val="val">{{val}}</h2> <input type="text" ng-model="val"/> </div> <script src="dist/angular.min.js"></script> <script src="dist/countUp.min.js"></script> <script src="dist/angular-countUp.min.js"></script>//插件需要先引入 <script> var MeiJu = angular.module('MeiJu',['countUpModule']);//注入模块 MeiJu.controller('pageCtrl',function($scope){ $scope.val=100; }) </script> </body> </html>
运行文件,演示如下: