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 相关文章推荐
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
Oct 25 Javascript
node.js中使用node-schedule实现定时任务实例
Jun 03 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
Oct 17 Javascript
javascript点击按钮实现隐藏显示切换效果
Feb 03 Javascript
详解Vue方法与事件
Mar 09 Javascript
JS闭包可被利用的常见场景小结
Apr 09 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
Apr 21 Javascript
详解vue-router和vue-cli以及组件之间的传值
Jul 04 Javascript
JS数组交集、并集、差集的示例代码
Aug 23 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
Dec 10 Javascript
小程序组件之自定义顶部导航实例
Jun 12 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中用header图片地址 简单隐藏图片源地址
2008/04/09 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
2014/03/19 PHP
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
php二维数组合并及去重复的方法
2015/03/04 PHP
Laravel中Trait的用法实例详解
2016/03/16 PHP
Use Word to Search for Files
2007/06/15 Javascript
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
js实现网页随机切换背景图片的方法
2014/11/01 Javascript
javascript经典特效分享 手风琴、轮播图、图片滑动
2016/09/14 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
2017/01/05 Javascript
xmlplus组件设计系列之选项卡(Tabbar)(5)
2017/05/03 Javascript
Vue实现点击后文字变色切换方法
2018/02/11 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
2018/02/13 jQuery
JS去除字符串最后的逗号实例分析【四种方法】
2019/06/20 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
2019/10/30 Javascript
vuex页面刷新导致数据丢失的解决方案
2020/12/10 Vue.js
vscode自定义vue模板的实现
2021/01/27 Vue.js
[42:22]DOTA2上海特级锦标赛C组小组赛#1 OG VS Archon第一局
2016/02/27 DOTA
python3编码问题汇总
2016/09/06 Python
基于python元祖与字典与集合的粗浅认识
2017/08/23 Python
Django的分页器实例(paginator)
2017/12/01 Python
matplotlib subplots 设置总图的标题方法
2018/05/25 Python
Python读取mat文件,并保存为pickle格式的方法
2018/10/23 Python
深入浅析Python 函数注解与匿名函数
2020/02/24 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
降低python版本的操作方法
2020/09/11 Python
澳洲网红粉泥面膜:Sand & Sky
2019/08/13 全球购物
优秀应届生推荐信
2013/11/09 职场文书
网站开发实习生的自我评价
2013/12/11 职场文书
团工委书记自荐书范文
2013/12/17 职场文书
煤矿班组长岗位职责
2013/12/29 职场文书
在校硕士自我鉴定
2014/01/23 职场文书
2014党员民主评议个人总结
2014/09/10 职场文书
幼儿园园长工作总结2015
2015/05/25 职场文书
Redis监控工具RedisInsight安装与使用
2022/03/21 Redis