当前位置 主页 > 网站技术 > 代码类 >

    js仿360开机效果

    栏目:代码类 时间:2019-12-26 12:07

    本文实例为大家分享了js仿360开机效果的具体代码,供大家参考,具体内容如下

    实现效果:

    1.点击关闭图片按钮先往下退出再往右退出

    实现步骤:

    1.封装运动函数
    2.给图片上的关闭设置一个盒子
    3.给关闭盒子注册点击事件点击后
    4.下面图片高度为0,设置一个缓动动画
    5.上面图片宽度为0,设置一个缓动动画

    缓动动画代码(带回调函数):`

     function getStyle(obj,attr){ //兼容性写法获得样式
            if(window.getComputedStyle){ 
              return window.getComputedStyle(obj, null)[attr];
            }else{
              return obj.currentStyle[attr];
            }
          }
           function animate(obj, json, speed, callback){
            clearInterval(obj.timer);
            obj.timer = setInterval(function(){
              var flag = true;
              for(var attr in json){
              var current = parseInt(getStyle(obj,attr));
              var step = (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 && typeof callback == 'function'){ //验证callback是否传递,传递的话看是否是函数类型
               callback();
              }
             }
            },speed);
          }

    开机图片,的由两个图片中组成

    <!DOCTYPE html>
    <html>
    <head lang="en">
      <meta charset="UTF-8">
      <title></title>
      <style>
        .box{
          width: 322px;
          position: fixed;
          bottom:0;
          right:0;
        }
        span{
          position: absolute;
          top:0;
          right:0;
          width:30px;
          height: 20px;
          cursor: pointer;
        }
        .box img{
          vertical-align: top;
        }
      </style>
      <script type="text/javascript" src="函数封装.js"></script>
      <script type="text/javascript">
        function $(id){
          return document.getElementById(id);
        }
        window.onload = function(){
          var span = document.getElementsByTagName('span')[0];
          var box = $('box');
          var bottom = $('bt');
          var top = $('hd');
          span.onclick = function(){
            var json = {"height": 0};
            animate(bottom,json,20,function(){
            animate(box,{"width":0},20);
            });
          }
        }
      </script>
    </head>
    <body>
    <div class="box" >
      <span></span>
      <div class="hd" >
        <img src="images/t.jpg" alt=""/>
      </div>
      <div class="bd" >
        <img src="images/b.jpg" alt=""/>
      </div>
    </div>
    </body>
    </html>

    效果:

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。