这是关于数字加载的一个动画,从0开始变化到设置的数字,依赖于jquery,效果如下所示

当然,数字要显示的位数是可以设置的,默认是全部位数的数字,设置显示位数可以直接传递参数,例如:

html文件为:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>数字</title>
<link rel="stylesheet" type="text/css" href="css/main.css" />
<script type="text/javascript" src="js/lib/sea.js"></script>
</head>
<body>
<h1 class="num" data-num="83692">0</h1>
<h2 class="num1" data-num="88692">0</h2>
<script type="text/javascript" src="js/entry.js"></script>
</body>
</html>

entry.js为主要js,是这个动画的方法,内容为:

function num_effect(dom,conf,fn){
if(typeof conf === 'function'){
fn = conf;
conf = {};
}
this.conf = $.extend({
digits: '', //显示的位数
time: 0.05 //动画时间,单位为s
}, conf || {});
this.fn = fn;
this.dom = $(dom);
this.val = this.dom.data("num");
this.handle();
} num_effect.prototype.handle = function(){
var self = this;
var str = self.val.toString();
var digits = parseInt(self.conf.digits);
if(isNaN(digits)){
digits = str.length;
}
var arrs = str.substr(0,digits).split("");
var j = 0, max = 0;
var setFun = setInterval(function(){
if(max >= digits){
clearInterval(setFun);
self.fn();//返回函数
}
(function(j){//更改值
var tmp = [];
for(var i=0; i<arrs.length; i++){
var now = parseInt(arrs[i]);
if(now > j){
tmp[i] = j;
}else{
if(now === j){
max ++;
}
tmp[i] = now;
}
}
self.dom.text(tmp.join(""));
})(j);
j++;
},self.conf.time*1000);
setFun;
} $.fn.extend({
numEffect: function(conf,fn){
this.each(function(i,dom){
new num_effect(dom,conf,fn);
});
}
});

那么调用这个方法实现动画只需要调用函数numEffect即可,如下

$(".num").numEffect();

如果加载完成后需要再执行一些js,那么只需如下这样即可:

$(".num,.num1").numEffect(function(){
console.log("加载完成");
});

查看entry.js可知,参数digits是控制显示的位数的,从左到右开始,time是数字变化的时间,单位为s,使用方法如下

$(".num1").numEffect({'digits': 2, 'time': 0.1});

目前,该函数只支持了这两个参数的设置,以及执行后的函数设置,没有实现按需执行动画,以后有需要了再说吧,暂时先这么做个笔记吧。

关于数字加载的动画 jquery的更多相关文章

  1. 页面预加载loading动画,再载入内容

    默认情况下如果网站请求速度慢,所以会有一段时间的空白页面等等,用户体验效果不好,见到很多的页面都有预加载的效果,加载之前先加载一个动画,后台进程继续加载页面内容,当页面内容加载完之后再退出动画显示内容 ...

  2. 三、js提交请求加载启动动画、请求完成成功回调、注销加载动画

    1.通过Query  post方式进行异步请求方法 jQuery.post(url, [data], [callback], [type]) 参数说明: url:发送请求地址 data:待发送 Key ...

  3. HTML5+javascript实现图片加载进度动画效果

    在网上找资料的时候,看到网上有图片加载进度的效果,手痒就自己也写了一个. 图片加载完后,隐藏loading效果. 想看加载效果,请ctrel+F5强制刷新或者清理缓存. 效果预览:   0%   // ...

  4. 纯css3 加载loading动画特效

    最近项目中要实现当页面还没有加载完给用户提示正在加载的loading,本来是想做个图片提示的,但是图片如果放大电脑的分辨率就会感觉到很虚,体验效果很不好.于是就采用css3+js实现这个loading ...

  5. Android 自定义View修炼-自定义加载进度动画XCLoadingImageView

    一.概述 本自定义View,是加载进度动画的自定义View,继承于ImageView来实现,主要实现蒙层加载进度的加载进度效果. 支持水平左右加载和垂直上下加载四个方向,同时也支持自定义蒙层进度颜色. ...

  6. CSharpGL(50)使用Assimp加载骨骼动画

    CSharpGL(50)使用Assimp加载骨骼动画 在(http://ogldev.atspace.co.uk/www/tutorial38/tutorial38.html)介绍了C++用Asism ...

  7. Android酷炫加载进度动画

    概述 本自定义动画进度酷炫View,是加载进度动画的自定义View,继承于ImageView来实现,主要实现蒙层加载进度的加载进度效果. 支持水平左右加载和垂直上下加载四个方向,同时也支持自定义蒙层进 ...

  8. CSS3实现加载数据动画2

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. CSS3实现加载数据动画1

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. python高级 之(一) --- 函数类型

    函数 模块 模块: 一个py文件就是一个模块, 每个模块之间是可以相互访问的 访问之前需要进行导入 分类: 1.系统提供的模块 math random 2.自己自定义的,自己封装的常用功能的的py文件 ...

  2. 【AMAD】django-silk -- 为Django提供如丝般顺滑的性能测量

    动机 简介 个人评分 动机 Django作为一个web框架,进行性能测量是很复杂的,不可以使用传统的程序profile工具. 因为,web app的性能是多维度的,不仅仅是代码执行效率,还包括网络延时 ...

  3. webgoat8百度云下载链接

    网络不好的很难下载,网上也没什么好用的下载链接,我就上传了百度网盘,有需要的兄弟自己下. 链接:https://pan.baidu.com/s/1plTxkZUhSZm9vA5GGzYmMQ 提取码: ...

  4. C++ unsigned long 转化为 unsigned char*

    C++ Code 123456789101112131415161718   unsigned long lFileLen = 1000; unsigned char *ucFileLenFlag; ...

  5. [c++] 链表各类操作详解

    链表概述 链表是一种常见的重要的数据结构.它是动态地进行存储分配的一种结构.它可以根据需要开辟内存单元.链表有一个“头指针”变量,以head表示,它存放一个地址.该地址指向一个元素.链表中每一个元素称 ...

  6. [转帖]互联网同步yum服务器阿里云 reposync createrepo

    https://www.cnblogs.com/withfeel/p/10635529.html 这篇文章 比较齐整 参考文章: https://www.cnblogs.com/lldsn/p/104 ...

  7. Jconsole与Jmx 分析JVM状况(上) 转

    出处:Jconsole与Jmx 分析JVM状况(上) JVM 平台提供 Mbeans 说明 在 Java 2 平台 5.0 以上版本,有一组 API 可以让 Java 应用程序和允许的工具监视和管理  ...

  8. Elasticsearch6.2集群搭建, centos7

    原文地址,转载请注明出处:https://blog.csdn.net/qq_34021712/article/details/79330028   ©王赛超 环境介绍 服务器 是否可以成为主节点 是否 ...

  9. Linux(17):Shell编程(4)

    案例1:批量生成随机字 符 文件名案例 使用for 循环在 /neo 目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串 neo创建的结果名称示例 如下: [root ...

  10. 分布式的几件小事(十一)分布式session如何实现

    1.分布式会话是什么? 首先,我们知道浏览器有个cookie,在一段时间内这个cookie都存在,然后每次发请求过来都带上一个特殊的jsessionid cookie,就根据这个东西,在服务端可以维护 ...