Jquery數字切換特效
[JavaScript]代碼
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",18i+"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));
}
}
</pre>
QQ圖片20150703091425.png
本文由用戶 oofw5751 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!