一个jquery数字滚动插件

<link rel="stylesheet" href="common/css/dataStatistics.css" media="all">

<div id="num"></div>

document.write('<s'+'cript type="text/javascript" src="'+getPath()+'/common/js/countNumber.js?d='+newdate+'"></s'+'cript>');

dataStatistics.css样式如下:

@charset "utf-8";
/* gaomingcong*/
@font-face{
  font-family: 'KlaviLigPla';
    src: url('../../font/LESLIE/LESLIE.eot');
    src: url('../../font/LESLIE/LESLIE.eot') format('embedded-opentype'),
         url('../../font/LESLIE/LESLIE.woff2') format('woff2'),
         url('../../font/LESLIE/LESLIE.woff') format('woff'),
         url('../../font/LESLIE/LESLIE.ttf') format('truetype'),
         url('../../font/LESLIE/LESLIE.svg#LESLIE') format('svg');
   font-weight: normal;
   font-style: normal;
}
.dataNums{ display: block;  height:100px; text-align:center;display: flex;}
 .dataNums .dataOne{ /* width:3.5vw;  */height:100px; /* margin: 0px 3px; */ text-align: center; flex:1;border-radius: 5px;float: left;list-style: none;font-family: 'KlaviLigPla';
 }
  .dataNums .dataLine{flex:0.4;}
 .dataNums .dataBoc {position: relative; width: 100%; height: 100%; overflow: hidden;}
 .dataNums .dataBoc .tt {position: absolute; top: 0;  left: 0; width: 100%;  height: 100%;}
 .dataNums .tt span{width:100%;height:100%; color:#51ffff;font-size: 5vw;line-height: 100px;float: left;
  /* background: linear-gradient(to bottom, #51ffff, #51ffff); */
       /*  -webkit-background-clip: text;
        -ms-background-clip: text;
        background-clip: text;
        color: transparent; */
        font-family: 'KlaviLigPla';
        font-weight: normal;
 }
 
 
   @media screen and (max-width: 1320px) {
   .dataNums {
       height:100px;
}
.dataNums .dataOne{
	width:3vw; height:100px; 
}
.dataNums .tt span{
	font-size: 5vw;line-height: 100px;
}
.dataLine{line-height: 100px;}
   }
   .dataNum1{
       position: absolute;
       top: 56%;
       width: 10%;
       float: left;
       /* padding-right: 4%; */
     color: #fff;
     font-size: 5vw;
     text-align: center;
     left: 17%;
     font-family: 'KlaviLigPla';
 }
 .dataNum2{
     position: absolute;
     top: 56%;
     width: 20%;
     float: left;
     color: #fff;
     font-size: 5vw;
     text-align: center;
     left: 40%;
     font-family: 'KlaviLigPla';
 }
 .dataNum3{
     position: absolute;
     top: 56%;
     width: 20%;
     float: left;
     padding-left: 5%;
     color: #fff;
     font-size: 5vw;
     text-align: center;
     left: 60%;
     font-family: 'KlaviLigPla';
 }
 .dataIcon{
     font-size: 5vw;
     float: left;
 }

countNumber.js内容如下:

;(function($,window,document){"use strict";var defaults={deVal:0,className:'dataNums',digit:''};function rollNum(obj,options){this.obj=obj;this.options=$.extend(defaults,options);this.init=function(){this.initHtml(obj,defaults);}}
rollNum.prototype={initHtml:function(obj,options){
var nameDeVal=options.deVal.split('');var strHtml='<ul class="'+options.className+' inrow">';var valLen=options.digit||(options.deVal+'').length;if(obj.find('.'+options.className).length<=0){for(var i=0;i<valLen;i++){if(nameDeVal[i]==","){strHtml+='<li class="dataOne dataLine" style="width:30px;background:none;font-size:69px;"><div class="dataBoc"><div class="tt" t="38" style=""><em style="color:#51ffff;" class="num0">,</em></div></div></li>';}
if(nameDeVal[i]=="."){strHtml+='<li class="dataOne dataLine" style="width:30px;background:none;font-size:69px;"><div class="dataBoc"><div class="tt" t="38" style=""><em style="color:#51ffff;" class="num0">.</em></div></div></li>';}
if(nameDeVal[i]!=","&&nameDeVal[i]!="."){strHtml+='<li class="dataOne "><div class="dataBoc"><div class="tt" t="38"><span class="num0">0</span> <span class="num1">1</span> <span class="num2">2</span> <span class="num3">3</span> <span class="num4">4</span><span class="num5">5</span> <span class="num6">6</span> <span class="num7">7</span> <span class="num8">8</span> <span class="num9">9</span><span class="num0">0</span> <span class="num1">1</span> <span class="num2">2</span> <span class="num3">3</span> <span class="num4">4</span><span class="num5">5</span> <span class="num6">6</span> <span class="num7">7</span> <span class="num8">8</span> <span class="num9">9</span><span class="num10">,</span><span class="num11">.</span></div></div></li>';}}
strHtml+='</ul>';obj.html(strHtml);}
this.scroNum(obj,options);},scroNum:function(obj,options){var number=options.deVal;var $num_item=$(obj).find('.'+options.className).find('.tt');var h=$(obj).find('.dataBoc').height();$num_item.css('transition','all 2s ease-in-out');var numberStr=number.toString();if(numberStr.length<=$num_item.length-1){var tempStr='';for(var a=0;a<$num_item.length-numberStr.length;a++){tempStr+='0';}
numberStr=tempStr+numberStr;}
var numberArr=numberStr.split('');$num_item.each(function(i,item){setTimeout(function(){if(numberArr[i]==","){$num_item.eq(i).html(",")
$num_item.eq(i).css({'font-size':'69px','background':'none','transition':'none','color':'#51ffff'})}
if(numberArr[i]=='.'){$num_item.eq(i).html(".").css({'font-size':'69px','background':'none','transition':'none','color':'#51ffff'})}
if(numberArr[i]!=","&&numberArr[i]!="."){$num_item.eq(i).css('top',-parseInt(numberArr[i])*h-h*10+'px');}},i*150)});}}
$.fn.rollNum=function(options){var $that=this;var rollNumObj=new rollNum($that,options);rollNumObj.init();};})(jQuery,window,document);

<script type="text/javascript">
getRoll();
function getRoll(){
    $("#num").rollNum({deVal:addCommas(16888),});
}
//每隔三位小数加逗号
function addCommas(nStr)
{
    var kk="";
    nStr+='';
    if(nStr.length<9){
        kk= (Array(9).join('0') + nStr).slice(-9);
    }else{
        kk=nStr;
    }
    x = kk.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
}
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值