js数字滑动时钟的简单实现(示例讲解)
废话不多说,直接上代码
Document body,ul{margin:0;padding:0;} .content{margin:100pxauto;width:1000px;} .box{position:relative;float:left;width:50px;height:120px;overflow:hidden;} .boxli{position:absolute;left:0;width:100%;height:120px;list-style:none;font-size:80px;font-weight:bold;background-color:#fff;line-height:120px;text-align:center;} .colon{float:left;height:120px;font-size:80px;color:#e91e63;font-weight:bold;line-height:100px;}
- "
this.num=num;
num++;
for(vari=0,l=timeNum[this.num];i
"
content.innerHTML+=innerHTML;
if(num==2||num==4){content.innerHTML+=":
"}
},
dominit:function(){
this.Ali=[].slice.call(document.getElementById('box'+this.num).getElementsByTagName('li'),0);
this.Ali.forEach(function(dom,i){
dom.style.top=position[i]+"px";
dom.style.transition="top.8s";
})
this.hasdom=true;
},
toNum:function(n){
if(!this.hasdom){this.dominit();}
n=""+n;
varp=this;
varl=p.Ali.length-1;
while(p.Ali[1].innerHTML!=n){
p.Ali.unshift(p.Ali.pop());
}
p.Ali.forEach(function(dom,i){
dom.style.zIndex=(i==l)?"-1":"1";
dom.style.top=position[i]+"px";
})
}
}
for(vari=0;i<6;i++){
varo=newNumberBox();
o.init();
NumberBoxs.push(o);
}
functiongetTime(){
vartime=newDate();
return(""+Fixed2(time.getHours())+Fixed2(time.getMinutes())+Fixed2(time.getSeconds())).split("");
}
functionFixed2(n){
returnNumber(n)<10?"0"+n:n;
}
(function(){
vartime=getTime();
NumberBoxs.forEach(function(obj,i){
obj.toNum(time[i]);
});
setTimeout(arguments.callee,1000);
})()
})();