countup.js
countup.js 是一个轻量级,无依赖的JavaScript类,通过简单的设置就可以达到数字滚动的效果
GitHub
官网
源码
var CountUp=function(target,startVal,endVal,decimals,duration,options){
var self=this;self.version=function(){
return"1.9.2"};self.options={
useEasing:true,useGrouping:true,separator:",",decimal:".",easingFn:easeOutExpo,formattingFn:formatNumber,prefix:"",suffix:"",numerals:[]};if(options&&typeof options==="object"){
for(var key in self.options){
if(options.hasOwnProperty(key)&&options[key]!==null){
self.options[key]=options[key]}}}if(self.options.separator===""){
self.options.useGrouping=false}else{
self.options.separator=""+self.options.separator}var lastTime=0;var vendors=["webkit","moz","ms","o"];for(var x=0;x<vendors.length&&!window.requestAnimationFrame;++x){
window.requestAnimationFrame=window[vendors[x]+"RequestAnimationFrame"];window.cancelAnimationFrame=window[vendors[x]+"CancelAnimationFrame"]||window[vendors[x]+"CancelRequestAnimationFrame"]}if(!window.requestAnimationFrame){
window.requestAnimationFrame=function(callback,element){
var currTime=new Date().getTime();var timeToCall=Math.max(0,16-(currTime-lastTime));var id=window.setTimeout(function(){
callback(currTime+timeToCall)},timeToCall);lastTime=currTime+timeToCall;return id}}if(!window.cancelAnimationFrame){
window.cancelAnimationFrame=function(id){
clearTimeout(id)}}function formatNumber(num){
num=num.toFixed(self.decimals);num+=