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 相关文章推荐
window.open()弹出居中的窗口
Feb 01 Javascript
固定表格行列(expression)在IE下适用
Jul 25 Javascript
JavaScript的常见兼容问题及相关解决方法(chrome/IE/firefox)
Dec 31 Javascript
javascript:window.open弹出窗口的位置问题
Mar 18 Javascript
node.js中的fs.close方法使用说明
Dec 17 Javascript
JavaScript中的this关键字使用详解
Aug 14 Javascript
js正则表达式验证邮件地址
Nov 12 Javascript
微信JSSDK调用微信扫一扫功能的方法
Jul 25 Javascript
vue的基本用法与常见指令
Aug 15 Javascript
详解Ant Design of React的安装和使用方法
Dec 27 Javascript
Vue 实现从小到大的横向滑动效果详解
Oct 16 Javascript
Vue实现点击按钮复制文本内容的例子
Nov 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数组总结篇(一)
2008/09/30 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
PHP中define() 与 const定义常量的区别详解
2019/06/25 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
一段非常简单的让图片自动切换js代码
2006/11/10 Javascript
JavaScript实现的双向跨域插件分享
2015/01/31 Javascript
jQuery选择器源码解读(二):select方法
2015/03/31 Javascript
逐一介绍Jquery data()、Jquery stop()、jquery delay()函数(详)
2015/11/04 Javascript
举例说明如何为JavaScript的方法参数设置默认值
2015/11/17 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
2016/05/05 Javascript
Bootstrap基本模板的使用和理解1
2016/12/14 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
2016/12/28 Javascript
jQuery实现导航回弹效果
2017/02/27 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
2017/09/11 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
Vue实现搜索结果高亮显示关键字
2019/05/28 Javascript
微信小程序页面间传递数组对象方法解析
2019/11/06 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
JavaScript实现滚动加载更多
2020/12/27 Javascript
[51:44]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第二场
2018/04/04 DOTA
深入理解python中的浅拷贝和深拷贝
2016/05/30 Python
Python基于回溯法子集树模板解决选排问题示例
2017/09/07 Python
Python通过Pygame绘制移动的矩形实例代码
2018/01/03 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
用python代码将tiff图片存储到jpg的方法
2018/12/04 Python
用HTML5制作数字时钟的教程
2015/05/11 HTML / CSS
世界第一冲浪品牌:O’Neill
2016/08/30 全球购物
Marriott国际:万豪国际酒店查询预订
2017/09/25 全球购物
购买美国制造的相框和画框架:Picture Frames
2018/08/14 全球购物
乌克兰设计师和品牌的服装:Love&Live
2020/04/14 全球购物
中国好声音广告词
2014/03/18 职场文书
学校施工安全责任书
2015/01/29 职场文书
邀请函样本
2015/02/02 职场文书
六年级情感作文之500字
2019/10/23 职场文书
正确使用MySQL INSERT INTO语句
2021/05/26 MySQL
Python tensorflow卷积神经Inception V3网络结构
2022/05/06 Python