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 相关文章推荐
JS代码格式化和语法着色V2
Oct 14 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
Feb 28 Javascript
JS运动基础框架实例分析
Mar 03 Javascript
AngularJs学习第八篇 过滤器filter创建
Jun 08 Javascript
Jquery实时监听input value的实例
Jan 26 Javascript
Bootstarp 基础教程之表单部分实例代码
Feb 03 Javascript
Vue2.0实现1.0的搜索过滤器功能实例代码
Mar 20 Javascript
vue.js指令和组件详细介绍及实例
Apr 06 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
Apr 28 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
May 17 Javascript
使用jquery DataTable和ajax向页面显示数据列表的方法
Aug 09 jQuery
react.js组件实现拖拽复制和可排序的示例代码
Aug 20 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 GD绘制24小时柱状图
2008/06/28 PHP
PHP数据库调用类调用实例(详细注释)
2012/07/12 PHP
php压缩HTML函数轻松实现压缩html/js/Css及注意事项
2013/01/27 PHP
PHP获取当前页面URL函数实例
2014/10/22 PHP
动态加载js的几种方法
2006/10/23 Javascript
JQuery Study Notes 学习笔记(一)
2010/08/04 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
2012/12/23 Javascript
javascript实现动态模态绑定grid过程代码
2014/09/22 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
2015/05/14 Javascript
js监听input输入框值的实时变化实例
2017/01/26 Javascript
JavaScript中最常用的10种代码简写技巧总结
2017/06/28 Javascript
vue父组件通过props如何向子组件传递方法详解
2017/08/16 Javascript
Angular实现的敏感文字自动过滤与提示功能示例
2017/12/29 Javascript
js笔试题-接收get请求参数
2019/06/15 Javascript
vue ssr服务端渲染(小白解惑)
2019/11/10 Javascript
Javascript类型判断相关例题及解析
2020/08/26 Javascript
谈谈node.js中的模块系统
2020/09/01 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
2020/11/26 Vue.js
Python获取任意xml节点值的方法
2015/05/05 Python
在Django框架中编写Context处理器的方法
2015/07/20 Python
[原创]使用豆瓣提供的国内pypi源
2017/07/02 Python
python实现百万答题自动百度搜索答案
2018/01/16 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
2018/06/28 Python
Python给图像添加噪声具体操作
2019/03/03 Python
python函数局部变量、全局变量、递归知识点总结
2019/11/15 Python
python 获取计算机的网卡信息
2021/02/18 Python
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
HolidayLettings英国:预订最好的度假公寓、别墅和自助式住宿
2019/08/27 全球购物
四川成都导游欢迎词
2014/01/18 职场文书
2014年安全生产责任书
2014/07/22 职场文书
2014年教研工作总结
2014/12/06 职场文书
2015年世界环境日演讲稿
2015/03/18 职场文书
音乐会主持人开场白
2015/05/28 职场文书
2016七夕情人节广告语
2016/01/28 职场文书
三好学生竞选稿范文
2019/08/21 职场文书
python使用shell脚本创建kafka连接器
2022/04/29 Python