이번에는 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. , 다시 호출하기만 하면 됩니다. 함수만 변경하세요.
NumbersAnimate.ChangeNumber();
플러그인에는 다음과 같은 3개의 매개변수가 있습니다.
Target: 숫자의 상위 컨테이너
Numbers: 표시되는 숫자
Duration: 스크롤 속도, 단위는 밀리초
사용법 참고: 숫자인 경우 변경 후 Change 메서드를 호출할 때 변경된 숫자가 이전 자릿수와 일치하는지 확인해야 합니다.
이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 자료:
jQuery로 슬라이드 효과로 탭 슬라이딩 전환 메뉴 구현
위 내용은 Jquery 디지털 스크롤 전환 플러그인 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!