web299.com
全部
教育
语言/资格考试
法律
互联网
政务民生
Word模板
Excel模板
PPT模板
网页特效
小程序模板
网站模板
首页
教育
语言/资格考试
法律
互联网
政务民生
Word模板
Excel模板
PPT模板
网页特效
小程序模板
网站模板
当前位置:
首页
>
网页特效
>
动画效果
简单快速的js的数字动画插件
分类:
动画效果
日期:
2024-05-14
点击(0)
评论(0)
演 示
免费下载
简介
在页面中引入slowNumber.js文件。 ```html ``` ##### HTML结构 在页面中添加需要制作数字动画的元素,为它添加slowNumberclass类。 ```html
100,42
``` ##### JavaScript slowNumber.js的整个实现代码如下: ```html var easing = { quadratic: function (x){ return Math.sqrt(x); } }; function range(start, stop, step){ var array = []; for(var i = start; i < stop; i += step) array.push(i); return array; } function interpolation(fps, easing, finalValue){ function scaleIt(value){return finalValue * value; } var x = range(0, 1, 1/fps), y = x.map(easing).map(scaleIt); return y; } function animateEl(values, duration, onAnimate){ var frameIndex = 0, fps = values.length, id = setInterval(anime, duration/fps ); function anime(){ var current = values[frameIndex], isLastFrame = (frameIndex === fps - 1); onAnimate(current, frameIndex, values); if(isLastFrame){ clearInterval(id); }else{ frameIndex++; } } } function round(value, decimals) { return Number(Math.round(value+'e'+decimals)+'e-'+decimals); } function unformat(content){ var unlocalized = content.replace('.', '').replace(',', '.'), value = parseFloat(unlocalized); return value; } function format(value){ return value.toString().replace('.', ','); } window.addEventListener("DOMContentLoaded", function(){ var fps = 30, els = [].slice.call(document.querySelectorAll('.slowNumber')); els.forEach(function(el){ var content = (el.firstChild.textContent).trim(), decimalPlaces = content.split(',')[1] || '', value = unformat(content), values = interpolation(fps, easing.quadratic, value); animateEl(values, 1000, function (current, i, values){ var isLast = (i === values.length - 1), value = round(current, decimalPlaces.length); el.firstChild.textContent = isLast? content : format(value); }); }); }); ```
相关推荐
html5浪漫粒子表白文字特效
SlidesJS幻灯片特效
html5瀑布流相册特效
css3 svg实现的情人节表白鲜花动画特效
t-scroll.js基于ES6的DOM元素,过渡动画库插件
纯js写省市区三级联动效果
广告
广告