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款很好 ...
随机推荐
- Ajax使用formdata异步上传文件,报错the request was rejected because no multipart boundary was found
基于jQuery的Ajaxs使用FormData上传文件要注意两个参数的设定 processData设为false 把processData设为false,让jquery不要对formData做处理, ...
- web-font 个人学习小总结
个人觉得 web-font 分为两种: 第一种就是真正文本字体,客户端没有安装的字体通过远程加载字体来实现特殊字体提高用户体验: icodon.com : http://icodon.com/goo ...
- 007_zkCli.sh
一. [zk: localhost:2181(CONNECTED) 1] rmr /zkTestPaths_92018-06-25 11:18:30,189 [myid:] - WARN [main- ...
- $Django 图片验证刷新 上传头像
1.图片验证刷新 $('img').click(function () { $('img')[0].src+='?' }) 2.上传头像 1.模板 <div class="form-g ...
- centos6.5中部署Zeppelin并配置账号密码验证
centos6.5中部署Zeppelin并配置账号密码验证1.安装JavaZeppelin支持的操作系统如下图所示.在安装Zeppelin之前,你需要在部署的服务器上安装Oracle JDK 1.7或 ...
- windows的tasklist使用
获取进程信息 tasklist # tasklist |findstr java.exe 杀死进程 方式1,通过进行pid杀死: taskkill /pid 4612 /f 方式2,通过名称杀死: t ...
- MySQL建库建表
一直使用SQL SERVER 数据库:最近项目使用MY SQL感觉还是有一点不适应.不过熟悉之后就会好很多. MY SQL 安装之后会有一个管理工具MySQL Workbench 感觉不太好用,数据库 ...
- django配置发送邮箱
该邮箱配置后台发送邮箱验证使用 settings内配置 # 服务器地址 EMAIL_HOST = 'smtp.163.com' # 端口,邮箱默认动态端口 25 EMAIL_PORT = 25 # 邮 ...
- php 汉字的首字母
<?php//php获取中文字符拼音首字母function getFirstCharter($str){ if(empty($str)) { return ''; } $fchar=ord($s ...
- vue.js的学习
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...