js仿360开机效果


Posted in Javascript onDecember 26, 2019

本文实例为大家分享了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" id="box">
  <span></span>
  <div class="hd" id="hd">
    <img src="images/t.jpg" alt=""/>
  </div>
  <div class="bd" id="bt">
    <img src="images/b.jpg" alt=""/>
  </div>
</div>
</body>
</html>

效果:

js仿360开机效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery高效反选具体实现
May 05 Javascript
javascript实现日期格式转换
Dec 16 Javascript
Bootstrap响应式侧边栏改进版
Sep 17 Javascript
JS实现汉字与Unicode码相互转换的方法详解
Apr 28 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
Jun 08 Javascript
jQuery上传插件webupload使用方法
Aug 01 jQuery
js实现前端图片上传即时预览功能
Aug 02 Javascript
js基于FileSaver.js 浏览器导出Excel文件的示例
Aug 15 Javascript
浅谈在vue中用webpack打包之后运行文件的问题以及相关配置方法
Feb 21 Javascript
Vue实现滑动拼图验证码功能
Sep 15 Javascript
微信小程序自定义顶部组件customHeader的示例代码
Jun 03 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
Jul 09 Javascript
element-ui中按需引入的实现
Dec 25 #Javascript
原生JS实现顶部导航栏显示按钮+搜索框功能
Dec 25 #Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 #jQuery
解决Vue 刷新页面导航显示高亮位置不对问题
Dec 25 #Javascript
Vue 路由间跳转和新开窗口的方式(query、params)
Dec 25 #Javascript
如何基于JS截获动态代码
Dec 25 #Javascript
通过微信公众平台获取公众号文章的方法示例
Dec 25 #Javascript
You might like
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
php-fpm重启导致的程序执行中断问题详解
2019/04/29 PHP
Nigma vs Liquid BO3 第二场2.14
2021/03/10 DOTA
Jquery带搜索框的下拉菜单
2013/05/06 Javascript
JS将秒换成时分秒实现代码
2013/09/03 Javascript
jquery 倒计时效果实现秒杀思路
2013/09/11 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
node.js中的buffer.toString方法使用说明
2014/12/14 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
jQuery中inArray方法注意事项分析
2016/01/25 Javascript
jQuery插件实现文字无缝向上滚动效果代码
2016/02/25 Javascript
javascript先序遍历DOM树的方法
2016/02/27 Javascript
JS创建事件的三种方法(实例代码)
2016/05/12 Javascript
js插件dropload上拉下滑加载数据实例解析
2016/07/27 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
node+experss实现爬取电影天堂爬虫
2016/11/20 Javascript
Bootstrap Fileinput 4.4.7文件上传实例详解
2018/07/25 Javascript
Vue表单及表单绑定方法
2018/09/04 Javascript
GOJS+VUE实现流程图效果
2018/12/01 Javascript
一次微信小程序内地图的使用实战记录
2019/09/09 Javascript
p5.js临摹动态图形实现方法详解
2019/10/23 Javascript
关于ES6尾调用优化的使用
2020/09/11 Javascript
Python进阶之全面解读高级特性之切片
2019/02/19 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
2019/08/23 Python
python 字符串常用函数详解
2019/09/11 Python
Python TCPServer 多线程多客户端通信的实现
2019/12/31 Python
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
优秀求职自荐信怎样写
2013/12/18 职场文书
授权委托书怎么写
2014/04/03 职场文书
企业承诺书怎么写
2014/05/24 职场文书
公务员个人考察材料
2014/12/23 职场文书
组织委员竞选稿
2015/11/21 职场文书
用python自动生成日历
2021/04/24 Python
面试中canvas绘制图片模糊图片问题处理
2022/03/13 Javascript
在Oracle表中进行关键词搜索的过程
2022/06/10 Oracle