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与iframe交互实现代码
Dec 24 Javascript
jquery获取ASP.NET服务器端控件dropdownlist和radiobuttonlist生成客户端HTML标签后的value和text值
Jun 28 Javascript
js获取通过ajax返回的map型的JSONArray的方法
Jan 09 Javascript
node.js中的path.join方法使用说明
Dec 08 Javascript
jquery使用ul模拟select实现表单美化的方法
Aug 18 Javascript
jQuery实现的AJAX简单弹出层效果代码
Nov 26 Javascript
jQuery中each循环的跳出和结束实例
Aug 16 jQuery
vue 微信授权登录解决方案
Apr 10 Javascript
使用淘宝镜像cnpm安装Vue.js的图文教程
May 17 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
Apr 14 Javascript
jQuery实现开关灯效果
Aug 02 jQuery
Vue axios 跨域请求无法带上cookie的解决
Sep 08 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 file_put_contents()功能函数(集成了fopen、fwrite、fclose)
2011/05/24 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
2011/10/29 PHP
php从数组中随机抽取一些元素的代码
2012/11/05 PHP
php的ZipArchive类用法实例
2014/10/20 PHP
smarty模板引擎之分配数据类型
2015/03/30 PHP
PHP MVC框架skymvc支持多文件上传
2016/05/26 PHP
详解Laravel视图间共享数据与视图Composer
2016/08/04 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
JavaScript While 循环基础教程
2007/04/05 Javascript
jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法
2013/05/13 Javascript
JavaScript的setAttribute兼容性问题解决方法
2013/11/11 Javascript
JavaScript与HTML的结合方法详解
2015/11/23 Javascript
详解JS正则replace的使用方法
2016/03/06 Javascript
javascript事件模型介绍
2016/05/31 Javascript
javascript jquery对form元素的常见操作详解
2016/06/12 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
2016/09/19 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
2017/11/22 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
[01:28]2014DOTA2国际邀请赛中国区预选赛四大豪门直升机抵达会场
2014/05/24 DOTA
Python中文竖排显示的方法
2015/07/28 Python
Python及PyCharm下载与安装教程
2017/11/18 Python
详解用python实现简单的遗传算法
2018/01/02 Python
在Python中实现shuffle给列表洗牌
2018/11/08 Python
python实现获取单向链表倒数第k个结点的值示例
2019/10/24 Python
pygame库实现移动底座弹球小游戏
2020/04/14 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
python3 配置logging日志类的操作
2020/04/08 Python
思想政治自我鉴定
2013/10/06 职场文书
职工运动会邀请函
2014/01/19 职场文书
《云雀的心愿》教学反思
2014/02/25 职场文书
2014年教师节寄语
2014/04/03 职场文书
篮球社团活动总结
2014/06/27 职场文书
项目工作说明书
2014/07/29 职场文书
项目建议书
2015/02/04 职场文书
总经理年会致辞
2015/07/29 职场文书
SONY AN-LP1 短波有源天线放大器图
2022/04/05 无线电