插件描述:实现数字上下滚动,模拟网站人气、访问量递增的动画效果,兼容性如下:

使用方法

$(el).runNum(val,params);
 

参数详解

val:数值型(默认70225800);

parameters:对象({addMin(随机最小值),addMax(随机最大值),interval(动画间隔),speed(动画滚动速度),width(列宽),height(行高)})

可直接查看源文件,样式及位置可自己修改CSS即可!

源码如下:

 (function ($) {
/*jQuery对象添加 runNum 方法*/
$.fn.extend({
/*
* 滚动数字
* @ val 值, params 参数对象
* params{addMin(随机最小值),addMax(随机最大值),interval(动画间隔),speed(动画滚动速度),width(列宽),height(行高)}
*/
runNum:function (val,params) {
/*初始化动画参数*/
var valString = val || '70225800'
var par= params || {};
var runNumJson={
el:$(this),
value:valString,
valueStr:valString.toString(10),
width:par.width || 40,
height:par.height || 50,
addMin:par.addMin || 10000,
addMax:par.addMax || 99999,
interval:par.interval || 3000,
speed:par.speed || 1000,
width:par.width || 40,
length:valString.toString(10).length
};
$._runNum._list(runNumJson.el,runNumJson);
$._runNum._interval(runNumJson.el.children("li"),runNumJson);
}
});
/*jQuery对象添加 _runNum 属性*/
$._runNum={
/*初始化数字列表*/
_list:function (el,json) {
var str='';
for(var i=0; i<json.length;i++){
var w=json.width*i;
var t=json.height*parseInt(json.valueStr[i]);
var h=json.height*10;
str +='<li style="width:'+json.width+'px;left:'+w+'px;top: '+-t+'px;height:'+h+'px;">';
for(var j=0;j<10;j++){
str+='<div style="height:'+json.height+'px;line-height:'+json.height+'px;">'+j+'</div>';
}
str+='</li>';
}
el.html(str);
},
/*生成随即数*/
_random:function (json) {
var Range = json.addMax - json.addMin;
var Rand = Math.random();
var num=json.addMin + Math.round(Rand * Range);
return num;
},
/*执行动画效果*/
_animate:function (el,value,json) {
for(var x=0;x<json.length;x++){
var topPx=value[x]*json.height;
el.eq(x).animate({top:-topPx+'px'},json.speed);
}
},
/*定期刷新动画列表*/
_interval:function (el,json) {
var val=json.value;
setInterval(function () {
val+=$._runNum._random(json);
$._runNum._animate(el,val.toString(10),json);
},json.interval);
}
}
})(jQuery);

实例如下:

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>数字滚动效果 jQuery插件</title>
<style type="text/css">
body{
margin: 0;
padding: 0;
font-size: 14px;
background-color: #F6F6F6;
font-weight: normal;
font-family: "Microsoft YaHei";
color: #333333;
}
.runNum{
margin: 0 auto;
padding: 0;
overflow: hidden;
height: 50px;
line-height: 50px;
border-top: #CCCCCC solid 1px;
border-bottom: #CCCCCC solid 1px;
text-align: center;
font-weight: bold;
position: relative;
}
.runNum>li{
list-style: none;
width: 40px;
float: left;
position: absolute;
}
</style>
</head>
<body>
<h2 style="text-align: center;">数字滚动效果 jQuery插件</h2>
<div style="margin: 50px auto;width: 320px;font-size:44px;">
<ul class="runNum" id="test"></ul>
</div>
<h4 style="text-align: center;">&copy;2017 helang版权所有</h4>
<script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script>
<script type="text/javascript">
(function ($) {
/*jQuery对象添加 runNum 方法*/
$.fn.extend({
/*
* 滚动数字
* @ val 值, params 参数对象
* params{addMin(随机最小值),addMax(随机最大值),interval(动画间隔),speed(动画滚动速度),width(列宽),height(行高)}
*/
runNum:function (val,params) {
/*初始化动画参数*/
var valString = val || '70225800'
var par= params || {};
var runNumJson={
el:$(this),
value:valString,
valueStr:valString.toString(10),
width:par.width || 40,
height:par.height || 50,
addMin:par.addMin || 10000,
addMax:par.addMax || 99999,
interval:par.interval || 3000,
speed:par.speed || 1000,
width:par.width || 40,
length:valString.toString(10).length
};
$._runNum._list(runNumJson.el,runNumJson);
$._runNum._interval(runNumJson.el.children("li"),runNumJson);
}
});
/*jQuery对象添加 _runNum 属性*/
$._runNum={
/*初始化数字列表*/
_list:function (el,json) {
var str='';
for(var i=0; i<json.length;i++){
var w=json.width*i;
var t=json.height*parseInt(json.valueStr[i]);
var h=json.height*10;
str +='<li style="width:'+json.width+'px;left:'+w+'px;top: '+-t+'px;height:'+h+'px;">';
for(var j=0;j<10;j++){
str+='<div style="height:'+json.height+'px;line-height:'+json.height+'px;">'+j+'</div>';
}
str+='</li>';
}
el.html(str);
},
/*生成随即数*/
_random:function (json) {
var Range = json.addMax - json.addMin;
var Rand = Math.random();
var num=json.addMin + Math.round(Rand * Range);
return num;
},
/*执行动画效果*/
_animate:function (el,value,json) {
for(var x=0;x<json.length;x++){
var topPx=value[x]*json.height;
el.eq(x).animate({top:-topPx+'px'},json.speed);
}
},
/*定期刷新动画列表*/
_interval:function (el,json) {
var val=json.value;
setInterval(function () {
val+=$._runNum._random(json);
$._runNum._animate(el,val.toString(10),json);
},json.interval);
}
}
})(jQuery);
</script>
<script type="text/javascript">
$("#test").runNum(52013141);
</script>
</body>
</html>

文章来源:

http://www.jq22.com/jquery-info16526

jQuery数字滚动(模拟网站人气、访问量递增)原创的更多相关文章

  1. jquery 数字滚动方法

    jquery 数字滚动方法用的是countUp.js这个插件 target = 目标元素的 ID:startVal = 开始值:endVal = 结束值:decimals = 小数位数,默认值是0:d ...

  2. jQuery 数字滚动插件

    这几天闲来没事写的,有不对的地方还请多多指点 CSS: ; padding:0 2px;} .digital-beating i {;; background:url(../images/icon_0 ...

  3. jQuery页面滚动数字增长插件

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. jQuery防京东浮动网站楼层导航代码

    jQuery防京东浮动网站楼层导航代码   <!DOCTYPE html > <html xmlns="http://www.w3.org/1999/xhtml" ...

  5. Vue.js大屏数字滚动翻转效果

    ================================ 大屏数字滚动翻转效果来源于最近工作中element后台管理页面一张大屏的UI图,该UI图上有一个模块需要有数字往上翻动的效果,以下是最 ...

  6. 【精心推荐】12款很好用的 jQuery 图片滚动插件

    这里收集了12款很好用的 jQuery 图片滚动插件分享给大家.jQuery 作为最流行的 JavaScript 框架,使用简单灵活,同时还有许多优秀的插件可供使用.其中最令人印象深刻的应用之一就是各 ...

  7. Flexslider - 响应式的 jQuery 内容滚动插件

    FlexSlider 是一款轻量的响应式 jQuery 内容滚动插件,能够帮助你在项目轻松的创建漂亮的内容滚动效果.这款插件曾经连续多年入选 WDL 的年度最佳 jQuery 插件,值得大家在网站开发 ...

  8. Jquery控制滚动显示欢迎字幕v2

    Jquery控制滚动显示欢迎字幕v2: 之前做的那个比较适合测试环境,但要套入到网站中,有两个按钮在那摆着,还是不太好看.后面对代码进行了修改,如下: 参考代码: <html> <h ...

  9. 10款很好用的 jQuery 图片滚动插件

    jQuery 作为最流行的 JavaScript 框架,使用简单灵活,同时还有许多优秀的插件可供使用.其中最令人印象深刻的应用之一就是各种很酷的图片效果,它可以让的网站更具吸引力.这里收集了10款很好 ...

随机推荐

  1. 从运维角度来分析mysql数据库优化的一些关键点【转】

    概述 一个成熟的数据库架构并不是一开始设计就具备高可用.高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善. 1.数据库表设计 项目立项后,开发部根据产品部需求开发项目,开发工程师工作其中一部分 ...

  2. VB中的冒号——bug

    关于VB中的冒号,给许多人的印象都是:“一行可书写几句语句”.这么说是对的,但是有一种情况是不对的,那就是在条件语句中.这也是做一个VB项目升级的时候遇到,因为这个问题我查了好长时间程序,一直在找VB ...

  3. Ubuntu16.04用源安装Nginx+PHP5.6+MySQL5.6

    安装Nginx 1.首先添加nginx_signing.key(必须,否则出错) $ wget http://nginx.org/keys/nginx_signing.key $ sudo apt-k ...

  4. struts2框架之重复提交问题

    防止重复提交 1. 什么是重复提交 * 提交表单时,点击一次后,页面没有刷新时,马上又点击一次,就是重复提交 * 提交后,通过浏览器的回退,又回到了表单页面,再次提交 * 提交后,按F5刷新,也是重复 ...

  5. php OpenSSL 加解密

    2018-1-6 17:10:19 星期六 $data = '123456'; $openssl_method = 'AES-256-CBC'; $openssl_iv_length = openss ...

  6. mysql5.7 参数记录 (持续更新)

    sync_binlog 控制数据库的binlog刷到磁盘 默认sync_binlog=1,表示每次事务提交,MySQL都会把binlog刷下去,是最安全但是性能损耗最大的设置. sync_binlog ...

  7. python学习第1天

    01 cpu 内存 硬盘 操作系统 CPU:中央处理器,相当于人大脑. 飞机 内存:临时存储数据. 8g,16g, 高铁 1,成本高. 2,断电即消失. 硬盘:长期存储大量的数据. 1T 512G等等 ...

  8. HBase在HDFS上的目录介绍

    总所周知,HBase 是天生就是架设在 HDFS 上,在这个分布式文件系统中,HBase 是怎么去构建自己的目录树的呢? 第一,介绍系统级别的目录树. 一.0.94-cdh4.2.1版本 系统级别的一 ...

  9. Bootstrap -- 模态框实现拖拽移动

    ### 这里实现这个效果 需要引入 jquery-ui.min.js类库 jquery-ui.min.css样式 使用它提供的draggable()方法实现 ### 菜鸟教程 http://www.r ...

  10. Confluence 6 白名单表达式类型

    表达式类型 当添加一个 URL 到白名单列表中的时候,你可以选择采取下面的表达式进行添加. 域名名称(Domain name) 允许 URL 为一个指定的域名. http://www.example. ...