JavaScript实现数值自动增加动画


Posted in Javascript onDecember 28, 2017

JS实现数值自动增加动画,效果图如下:

JavaScript实现数值自动增加动画

话不多说,直接上代码,注释比较详细。

<!DOCTYPE html> 
<html> 
 
 <head> 
  <meta charset="UTF-8"> 
  <title>数字自动增加</title> 
 </head> 
 
 <body> 
  <h1 id="time">0</h1> 
 
  <script> 
   //数字自增到某一值动画参数(目标元素,自定义配置) 
   function NumAutoPlusAnimation(targetEle, options) { 
 
    /*可以自己改造下传入的参数,按照自己的需求和喜好封装该函数*/ 
    //不传配置就把它绑定在相应html元素的data-xxxx属性上吧 
    options = options || {}; 
 
    var $this = document.getElementById(targetEle), 
     time = options.time || $this.data('time'), //总时间--毫秒为单位 
     finalNum = options.num || $this.data('value'), //要显示的真实数值 
     regulator = options.regulator || 100, //调速器,改变regulator的数值可以调节数字改变的速度 
 
     step = finalNum / (time / regulator),/*每30ms增加的数值--*/ 
     count = 0, //计数器 
     initial = 0; 
 
    var timer = setInterval(function() { 
 
     count = count + step; 
 
     if(count >= finalNum) { 
      clearInterval(timer); 
      count = finalNum; 
     } 
     //t未发生改变的话就直接返回 
     //避免调用text函数,提高DOM性能 
     var t = Math.floor(count); 
     if(t == initial) return; 
 
     initial = t; 
 
     $this.innerHTML = initial; 
    }, 30); 
   } 
 
   NumAutoPlusAnimation("time", { 
    time: 1500, 
    num: 12000, 
    regulator: 50 
   }) 
  </script> 
 
 </body> 
 
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
扩展jQuery 键盘事件的几个基本方法
Oct 30 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
Aug 30 Javascript
JavaScript中消除闭包的一般方法介绍
Mar 16 Javascript
js实现索引图片切换效果
Nov 21 Javascript
最好用的Bootstrap fileinput.js文件上传组件
Dec 12 Javascript
js 原型对象和原型链理解
Feb 09 Javascript
Mongoose经常返回e11000 error的原因分析
Mar 29 Javascript
解决option标签selected=&quot;selected&quot;属性失效的问题
Nov 06 Javascript
如何在vue里面优雅的解决跨域(路由冲突问题)
Jan 20 Javascript
javascript验证form表单数据的案例详解
Mar 25 Javascript
JS原生瀑布流效果实现
Apr 26 Javascript
layui原生表单验证的实例
Sep 09 Javascript
详解如何优雅地在React项目中使用Redux
Dec 28 #Javascript
ionic3实战教程之随机布局瀑布流的实现方法
Dec 28 #Javascript
JS实现带动画的回到顶部效果
Dec 28 #Javascript
JavaScript实现元素滚动条到达一定位置循环追加内容
Dec 28 #Javascript
在nginx上部署vue项目(history模式)的方法
Dec 28 #Javascript
js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法)
Dec 28 #Javascript
vue获取dom元素注意事项
Dec 28 #Javascript
You might like
ThinkPHP中RBAC类的四种用法分析
2014/11/24 PHP
php基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
tp5.1框架数据库子查询操作实例分析
2020/05/26 PHP
javascript之ESC(第二类混淆)
2007/05/06 Javascript
editable.js 基于jquery的表格的编辑插件
2011/10/24 Javascript
jQuery Validate验证框架经典大全
2015/09/23 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
2016/06/08 Javascript
AngularJS实现select的ng-options功能示例
2017/07/12 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
BootStrap 标题设置跨行无效的解决方法
2017/10/25 Javascript
详解vue-cli 本地开发mock数据使用方法
2018/05/29 Javascript
微信小程序生成二维码的示例代码
2019/03/29 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
2020/01/18 Javascript
原生js实现放大镜组件
2021/01/22 Javascript
python利用datetime模块计算时间差
2015/08/04 Python
Python编码爬坑指南(必看)
2016/06/10 Python
Python的collections模块中的OrderedDict有序字典
2016/07/07 Python
Python程序中设置HTTP代理
2016/11/06 Python
Python 逐行分割大txt文件的方法
2017/10/10 Python
python中实现将多个print输出合成一个数组
2018/04/19 Python
Python 字符串与数字输出方法
2018/07/16 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
详解Python中的正斜杠与反斜杠
2019/08/09 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
2019/09/25 Python
JINS眼镜官方网站:日本最大的眼镜邮购
2016/10/14 全球购物
美国学校用品、教室和教学商店:Discount School Supply
2018/04/04 全球购物
美国礼品卡交易网站:Cardpool
2018/08/27 全球购物
经理职责范文
2013/11/08 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
大学生求职自荐信范文
2015/03/04 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
MySQL修炼之联结与集合浅析
2021/10/05 MySQL
Win11如何设置右键单击显示所有选项?Win11右键单击显示所有选项设置教程
2022/04/08 数码科技