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

使用方法
$(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;">©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数字滚动(模拟网站人气、访问量递增)原创的更多相关文章
- jquery 数字滚动方法
jquery 数字滚动方法用的是countUp.js这个插件 target = 目标元素的 ID:startVal = 开始值:endVal = 结束值:decimals = 小数位数,默认值是0:d ...
- jQuery 数字滚动插件
这几天闲来没事写的,有不对的地方还请多多指点 CSS: ; padding:0 2px;} .digital-beating i {;; background:url(../images/icon_0 ...
- jQuery页面滚动数字增长插件
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- jQuery防京东浮动网站楼层导航代码
jQuery防京东浮动网站楼层导航代码 <!DOCTYPE html > <html xmlns="http://www.w3.org/1999/xhtml" ...
- Vue.js大屏数字滚动翻转效果
================================ 大屏数字滚动翻转效果来源于最近工作中element后台管理页面一张大屏的UI图,该UI图上有一个模块需要有数字往上翻动的效果,以下是最 ...
- 【精心推荐】12款很好用的 jQuery 图片滚动插件
这里收集了12款很好用的 jQuery 图片滚动插件分享给大家.jQuery 作为最流行的 JavaScript 框架,使用简单灵活,同时还有许多优秀的插件可供使用.其中最令人印象深刻的应用之一就是各 ...
- Flexslider - 响应式的 jQuery 内容滚动插件
FlexSlider 是一款轻量的响应式 jQuery 内容滚动插件,能够帮助你在项目轻松的创建漂亮的内容滚动效果.这款插件曾经连续多年入选 WDL 的年度最佳 jQuery 插件,值得大家在网站开发 ...
- Jquery控制滚动显示欢迎字幕v2
Jquery控制滚动显示欢迎字幕v2: 之前做的那个比较适合测试环境,但要套入到网站中,有两个按钮在那摆着,还是不太好看.后面对代码进行了修改,如下: 参考代码: <html> <h ...
- 10款很好用的 jQuery 图片滚动插件
jQuery 作为最流行的 JavaScript 框架,使用简单灵活,同时还有许多优秀的插件可供使用.其中最令人印象深刻的应用之一就是各种很酷的图片效果,它可以让的网站更具吸引力.这里收集了10款很好 ...
随机推荐
- linux驱动 之 module_init解析 (上)【转】
转自:https://blog.csdn.net/Richard_LiuJH/article/details/45669207 版权声明:本文为博主原创文章,未经博主允许不得转载. https://b ...
- shell 在手分析服务器日志【转】
自己的小网站跑在阿里云的 ECS 上面, 偶尔也去分析分析自己网站服务器日志,看看网站的访问量.看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试! awk '{print $1 ...
- python按照文件创建日期整理文件至文件夹
# -*- coding: utf-8 -*- # @Time : 2019-02-15 13:31 # @Author : cxa # @File : sortbydate.py # @Softwa ...
- 【转】Linux查看系统是32位还是64位方法总结
这篇博客是总结.归纳查看Linux系统是32位还是64位的一些方法,很多内容来自网上网友的博客.本篇只是整理.梳理这方面的知识,方便自己忘记的时候随时查看. 方法1:getconf LONG_BIT ...
- 全系列Unity4.x.x到2017.1.1破解Win&Mac!最新Unity2017.1.1p3&4.7.2f1破解!
Unity官网所有版本下载地址请戳: http://unity3d.com/unity/download/archive 补丁版本请戳: http://unity3d.com/cn/unity/qa/ ...
- FFmpeg Scaler Options
算法 帧率 图像主观感受 SWS_FAST_BILINEAR 228 图像无明显失真,感觉效果很不错. SWS_BILINEAR 95 感觉也很不错,比上一个算法边缘平滑一些. SWS_BICUBIC ...
- python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用
python操作三大主流数据库(12)python操作redis的api框架redis-py简单使用 redispy安装安装及简单使用:https://github.com/andymccurdy/r ...
- hue的历史查询记录querys乱码问题解决
hue的历史查询记录querys乱码问题解决: master1中配置文件/home/hadoop/.versions/hue-3.10.0/desktop/conf/hue.ini 可以看到连接的是m ...
- 生产环境elasticsearch5.0报错IllegalArgumentException: number of documents in the index cannot exceed 2147483519的处理
最近几天的push:user:req数据写不到集群,报错如下: [--13T09::,][DEBUG][o.e.a.b.TransportShardBulkAction] [yunva_etl_es8 ...
- corba/ice/web service/com+
//todo model1 model2