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); }); } }