更新时间:2019/6/24 上午9:47:04
更新说明:【修复bug】不能设置整数
// 代码已经封装好了,如有疑问请联系本人632922356@qq.com
var dom = document.querySelector(".number")
var digit = new Digit({
number : 1234582.52, // 到达指定数值停止滚动
finish : 5, // 整体完成时间
speed : 1, // 数值越大,越多数字同时进行翻滚,取值范围(1 ~ 10)
direction : "right", // 动画方向
dom : dom, // 在指定dom节点插入动画
})
digit.render() // 执行// 展示部分源码
/**
* 数字动画执行
* @func render
* @param {Number} number 到达指定数值停止滚动
* @param {int} finish 动画执行完毕时间
* @param {int} speed 数值越大,越多数字同时进行翻滚,取值范围(0 ~ 10)
* @param {String} direction 动画方向
* @param {Object} dom 在指定dom节点插入动画
*/
Digit.prototype.render = function() {
var direction = data.direction // 动画方向
var finish = data.finish // 总完成时间
var speed = data.speed // 数值越大,越多数字同时进行翻滚,取值范围(0 ~ 10)
var number = (data.number.toString()).replace('.', '').length - 1 // 需要执行动画的数量
var single = Number((finish / number).toFixed(2)) // 单个完成时间
var animation = {
number: number,
single: single,
speed: speed,
timerTemp: 0 // 定时器临时记录时间
}
animation.timerTemp -= animation.single initDom(data.dom, data.number, animation) // 加载dom节点
initAnimation(data.dom, animation, direction) // 执行数字滚动动画
};