js仿360开机效果
本文实例为大家分享了js仿360开机效果的具体代码,供大家参考,具体内容如下
实现效果:
1.点击关闭图片按钮先往下退出再往右退出
实现步骤:
1.封装运动函数
2.给图片上的关闭设置一个盒子
3.给关闭盒子注册点击事件点击后
4.下面图片高度为0,设置一个缓动动画
5.上面图片宽度为0,设置一个缓动动画
缓动动画代码(带回调函数):`
functiongetStyle(obj,attr){//兼容性写法获得样式
if(window.getComputedStyle){
returnwindow.getComputedStyle(obj,null)[attr];
}else{
returnobj.currentStyle[attr];
}
}
functionanimate(obj,json,speed,callback){
clearInterval(obj.timer);
obj.timer=setInterval(function(){
varflag=true;
for(varattrinjson){
varcurrent=parseInt(getStyle(obj,attr));
varstep=(json[attr]-current)/10;
step=step>0?Math.ceil(step):Math.floor(step);
obj.style[attr]=current+step+'px';
if(current!=json[attr]){
flag=false;
}
}
if(flag){
clearInterval(obj.timer);
if(callback&&typeofcallback=='function'){//验证callback是否传递,传递的话看是否是函数类型
callback();
}
}
},speed);
}
开机图片,的由两个图片中组成
function$(id){ returndocument.getElementById(id); } window.onload=function(){ varspan=document.getElementsByTagName('span')[0]; varbox=$('box'); varbottom=$('bt'); vartop=$('hd'); span.onclick=function(){ varjson={"height":0}; animate(bottom,json,20,function(){ animate(box,{"width":0},20); }); } } 
