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表单验证框架提供的身份证验证方法(示例代码)
Dec 27 Javascript
js判断浏览器类型及设备(移动页面开发)
Jul 30 Javascript
关于动态执行代码(js的Eval)实例详解
Aug 15 Javascript
jQuery的Read()方法代替原生JS详解
Nov 08 Javascript
vue2.0结合DataTable插件实现表格动态刷新的方法详解
Mar 17 Javascript
JS对象与JSON互转换、New Function()、 forEach()、DOM事件流等js开发基础小结
Aug 10 Javascript
vuejs使用递归组件实现树形目录的方法
Sep 30 Javascript
RxJS的入门指引和初步应用
Jun 15 Javascript
详解微信小程序开发之formId使用(模板消息)
Aug 27 Javascript
layui点击按钮页面会自动刷新的解决方案
Oct 25 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
Apr 25 Javascript
Javascript中async与await的捕捉错误详解
Mar 03 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通用检测函数集合
2011/02/08 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
PHP 等比例缩放图片详解及实例代码
2016/09/18 PHP
php自定义时间转换函数示例
2016/12/07 PHP
PHP中常用的魔术方法
2017/04/28 PHP
PHP基于pdo的数据库操作类【可支持mysql、sqlserver及oracle】
2018/05/21 PHP
javascript document.images实例
2008/05/27 Javascript
Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
2010/03/27 Javascript
JS中confirm,alert,prompt函数使用区别分析
2010/04/01 Javascript
jQuery Dialog 弹出层对话框插件
2010/08/09 Javascript
jQuery的运行机制和设计理念分析
2011/04/05 Javascript
实现点击列表弹出列表索引的两种方式
2013/03/08 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
2013/09/06 Javascript
jquery和css3实现的炫酷时尚的菜单导航
2014/09/01 Javascript
javascript手工制作悬浮菜单
2015/02/12 Javascript
基于javascript html5实现多文件上传
2016/03/03 Javascript
jQuery EasyUI编辑DataGrid用combobox实现多级联动
2016/08/29 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
2016/10/09 Javascript
微信小程序 video组件详解
2016/10/25 Javascript
JS中位置与大小的获取方法
2016/11/22 Javascript
Vue 固定头 固定列 点击表头可排序的表格组件
2016/11/25 Javascript
js Date()日期函数浏览器兼容问题解决方法
2017/09/12 Javascript
JS实现的集合去重,交集,并集,差集功能示例
2018/03/13 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
2018/10/08 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
2020/09/21 Javascript
Python获取当前公网ip并自动断开宽带连接实例代码
2018/01/12 Python
关于Python字符串显示u...的解决方式
2020/03/06 Python
通过实例解析python创建进程常用方法
2020/06/19 Python
日本无添加化妆品:HABA
2016/08/18 全球购物
市场部规章制度
2014/01/24 职场文书
2014学年自我鉴定
2014/02/23 职场文书
农业项目建议书
2014/08/25 职场文书
增值税发票丢失证明
2015/06/19 职场文书
2016党员学习心得体会范文
2016/01/23 职场文书