• 技术文章 >web前端 >js教程

    Jquery数字滚动切换插件实现方法

    php中世界最好的语言php中世界最好的语言2018-04-26 17:10:17原创1002
    这次给大家带来Jquery数字滚动切换插件实现方法,Jquery数字滚动切换插件实现的注意事项有哪些,下面就是实战案例,一起来看一下。

    我们先来看示例:

    CSS

    .textC {
     position:absolute;
     width:500px;
     overflow:hidden;
     margin-top: 100px;
     line-height:30px;
     margin-left: 300px;
     height:30px;
    }
    .textC span {
     color: #13BEEC;
     font-size: 28px;
     font-weight: bold;
     font-family: Georgia, "Times New Roman", Times, serif;
     position: absolute;
    }

    HTML

    <p class="textC"></p>
    <p style="text-align:center;"><a style="float:left; margin-left:300px; margin-top:200px;" href="
    javascript
    :void(0);" onClick="NumbersAnimate.ChangeNumber(NumbersAnimate.RandomNum(10000000,19999999));">随机切换数字</a>
    </p>

    JS

    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
    <script type="text/javascript">
    $(function(){
     NumbersAnimate.Target=$(".textC");
     NumbersAnimate.Numbers=12389623;
     NumbersAnimate.Duration=1500;
     NumbersAnimate.Animate();
    });
    var NumbersAnimate={
     Target:null,
     Numbers:0,
     Duration:500,
     Animate:function(){
     var array=NumbersAnimate.Numbers.toString().split("");
     //遍历数组
     for(var i=0;i<array.length;i++){
      var currentN=array[i];
      //数字append进容器
      var t=$("<span></span>");
      $(t).append("<span class=\"childNumber\">"+array[i]+"</span>");
      $(t).css("margin-left",18*i+"px");
      $(NumbersAnimate.Target).append(t);
      //生成滚动数字,根据当前数字大小来定
      for(var j=0;j<=currentN;j++){
      var tt;
      if(j==currentN){
       tt=$("<span class=\"main\"><span>"+j+"</span></span>");
       }else{
       tt=$("<span class=\"childNumber\">"+j+"</span>");
      }
      $(t).append(tt);
      $(tt).css("margin-top",(j+1)*25+"px");
      }
      $(t).animate({marginTop:-((parseInt(currentN)+1)*25)+"px"},NumbersAnimate.Duration,function(){
      $(this).find(".childNumber").remove();
      });
     }
     },
     ChangeNumber:function(numbers){
     var oldArray=NumbersAnimate.Numbers.toString().split("");
     var newArray=numbers.toString().split("");
     for(var i=0;i<oldArray.length;i++){
      var o=oldArray[i];
      var n=newArray[i];
      if(o!=n){
       var c=$($(".main")[i]);
            var num=parseInt($(c).html());
       var top=parseInt($($(c).find("span")[0]).css("marginTop").replace('px', '')); 
       
       for(var j=0;j<=n;j++){
        var nn=$("<span>"+j+"</span>");
        if(j==n){
        nn=$("<span>"+j+"</span>");
        }else{
        nn=$("<span class=\"yy\">"+j+"</span>");
        }
        $(c).append(nn);
        $(nn).css("margin-top",(j+1)*25+top+"px");
       }
       var margintop=parseInt($(c).css("marginTop").replace('px', '')); 
       $(c).animate({marginTop:-((parseInt(n)+1)*25)+margintop+"px"},NumbersAnimate.Duration,function(){
        $($(this).find("span")[0]).remove();
        $(".yy").remove();
       });
      }
     }
     NumbersAnimate.Numbers=numbers;
     },
     
     RandomNum:function(m,a){
     var Range = a - m;  
        var Rand = Math.random();  
        return(m + Math.round(Rand * Range));  
     }
    }
    </script>

    插件使用非常简单
    1. 第一次调用时

    NumbersAnimate.Target=$(".textC");
    NumbersAnimate.Numbers=12389623;
    NumbersAnimate.Duration=1500;
    NumbersAnimate.Animate();

    2. 如果数字改变了,再次调用就只需要调用Change函数即可

    NumbersAnimate.ChangeNumber();

    该插件有3个参数,分别是:

    Target:数字的父级容器
    Numbers:显示的数字
    Duration:滚动速度,单位是毫秒

    使用注意:当数字改变后调用Change方法时,需要保证改变后的数字和之前的数字位数一致。

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    jquery+js获取焦点控制图片

    jquery操作动画显示与隐藏效果效果

    jQuery实现有幻灯效果tab滑动切换菜单

    以上就是Jquery数字滚动切换插件实现方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Jquery 插件 切换
    上一篇:jquery+js获取焦点控制图片 下一篇:jQuery做出图文高亮滚动切换效果详解
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• 浅显易懂的JavaScript引入• 深入解析NodeJS中的进程管理• 聊聊Angular Route中怎么提前获取数据• 详细了解JavaScript编译原理• node.js gm是什么
    1/1

    PHP中文网