jQuery实现数字滚动

<div class="wrap">
   <div class="num-attack"  data-count="535610091">
   </div>
 </div>
<style type="text/css">

.wrap{
    z-index: 2;
    height: 55px;
    z-index: 2;
    overflow: hidden;
    background: blue; 
    width: 400px;  
}


.num-attack,
.num-speed{
    height: 40px;
    float: left;
    padding-top: 15px;
    position: relative;
    padding-right: 38px;
    top: -56px;
    letter-spacing: -75px;
}
.num-speed{
    margin-left: 130px;
}
.num-title{
    line-height: 19px;
    height: 19px;
    color: #2C3E50;
}
.num-s,
.num-attack .num,
.num-speed .num{
    position: relative;
    /*overflow: hidden;*/
    color: #25D0C3;
    font-size: 42px;
    line-height: 50px;
    font-weight: 700;
    height: 50px;
    font-family: 'Helvetica Neue';
    float: left;
}

.num-s{
    /*width: 15px;*/
    top: 42px;
    left: 26px;
}

.num-attack .num-inner,
.num-speed .num-inner{
    position: relative;
    float: left;
    top: 0;
}


</style>

 <script type="text/html" id="tpl">
<div class="num">
    <ul class="num-inner" style="list-style: none">
        <li>0</li>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>
        <li>9</li> 
    </ul>
</div>
</script>

<script id="ntpl" type="text/tpl">
<div class="num-s">,</div>
</script>

  <script type="text/javascript" src="jquery.1.9.1.js"></script>
  <script type="text/javascript">

    var num = 0;
    var tpl = $('#tpl').html().replace(/[\n\t]|\s{2,}/g,'');
    var ntpl = $('#ntpl').html().replace(/[\n\t]|\s{2,}/g,'');

    function setNumber($wrap, num){ 
        var $nums = $wrap.find('.num');
        var nums = [];
        var num = num.toString().split(''); 

        if($nums.length<num.length){
            var diff = num.length- $nums.length;
            for(var i=0; i<diff; i++){
                var $tmpNum = $wrap.find('.num');
                if($tmpNum.length){ 
                    if( !($tmpNum.length % 3) ){ 
                        var $s= $(ntpl);
                        $s.insertBefore($tmpNum.eq(0)); 
                        $(tpl).insertBefore($s);
                    } else {
                        $(tpl).insertBefore($tmpNum.eq(0));
                    } 
                }else{
                    $wrap.append(tpl); 
                } 
            }
        }
        
        $nums = $wrap.find('.num'); 
        for(var i=$nums.length-1; i>-1; i--){ 
            $nums.eq(i).find('.num-inner').animate({
                top: -50 * num[i]
            });
        }
    } 

    var $numAttack    = $('.num-attack');
    var $attack_total = $numAttack.data("count");
    setNumber($numAttack, $attack_total);
    setInterval(function(){
        var add1 = Math.round(Math.random());
        setNumber($numAttack, ($attack_total = $attack_total + 1) );
    }, 500);

  

  </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值