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 相关文章推荐
JavaScript中获取未知对象属性的代码
Apr 27 Javascript
JQueryEasyUI datagrid框架的进阶使用
Apr 08 Javascript
Javascript闭包实例详解
Nov 29 Javascript
基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
Feb 29 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
Apr 29 Javascript
深入浅析JavaScript中的Function类型
Jul 09 Javascript
Bootstrap被封装的弹层
Jul 20 Javascript
解析微信JS-SDK配置授权,实现分享接口
Dec 09 Javascript
JS HTML图片显示Canvas 压缩功能
Jul 21 Javascript
详解vue 组件之间使用eventbus传值
Oct 25 Javascript
JS运动特效之链式运动分析
Jan 24 Javascript
全面解析Vue中的$nextTick
Dec 24 Vue.js
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
用Flash图形化数据(二)
2006/10/09 PHP
用PHP实现多服务器共享SESSION数据的方法
2007/03/16 PHP
用mysql_fetch_array()获取当前行数据的方法详解
2013/06/05 PHP
PHP 动态生成静态HTML页面示例代码
2014/01/15 PHP
PHP文件缓存类实现代码
2015/10/26 PHP
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
jQuery中的$.ajax()方法应用
2014/05/06 Javascript
开源的javascript项目Kissy介绍
2014/11/28 Javascript
JS+CSS实现淡入式焦点图片幻灯切换效果的方法
2015/02/26 Javascript
js验证上传图片的方法
2015/05/12 Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
2015/12/08 Javascript
BootStrap glyphicons 字体图标实现方法
2016/05/01 Javascript
使用伪命名空间封装保护独自创建的对象方法
2016/08/04 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
基于node.js制作简单爬虫教程
2017/06/29 Javascript
对mac下nodejs 更新到最新版本的最新方法(推荐)
2018/05/17 NodeJs
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
javascript History对象原理解析
2020/02/17 Javascript
微信小程序中的列表切换功能实例代码详解
2020/06/09 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
2020/11/04 Javascript
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
python中装饰器级连的使用方法示例
2017/09/29 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
python绘制BA无标度网络示例代码
2019/11/21 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
2020/05/12 Python
python批量修改交换机密码的示例
2020/09/22 Python
python 利用jieba.analyse进行 关键词提取
2020/12/17 Python
html5本地存储之localstorage 、本地数据库、sessionStorage简单使用示例
2014/05/08 HTML / CSS
出门问问全球官方商城:Tichome音箱和TicWatch智能手表
2017/12/02 全球购物
年终自我鉴定
2013/10/09 职场文书
业务助理岗位职责
2013/11/18 职场文书
安全事故检讨书
2014/01/18 职场文书
2014年共青团工作总结
2014/12/10 职场文书
MySQL视图概念以及相关应用
2022/04/19 MySQL