美文网首页
360开机效果

360开机效果

作者: Yuann | 来源:发表于2021-10-09 14:28 被阅读0次
360开机动画.gif
<!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;
        }
    </style>
</head>
<body>
<div class="box" id="box">
    <span></span>
    <div class="hd" id="t">
        <img src="images/t.jpg" alt=""/>
    </div>
    <div class="bd" id="b">
        <img src="images/b.jpg" alt=""/>
    </div>
</div>
</body>
</html>
<script>
    var b = document.getElementById('b');
    var closeAd = document.getElementsByTagName("span")[0];
    closeAd.onclick = function() {
        animate(b,{height: 0},function(){
            animate(b.parentNode,{width:0});
        });
    }


    // 多个属性运动框架
    function animate(obj,json,fn) {  // 给谁    json
        clearInterval(obj.timer);
        obj.timer = setInterval(function() {
            //开始遍历 json
            var flag = true;  // 用来判断是否停止定时器   一定写到遍历的外面
            for(var attr in json){   // attr  属性     json[attr]  值
                // 计算步长        用 target 位置 减去当前的位置  除以 10
                // console.log(attr);
                var current = parseInt(getStyle(obj,attr));  // 数值
                // console.log(current);
                // 目标位置就是  属性值
                var step = ( json[attr] - current) / 10;  // 步长  用目标位置 - 现在的位置 / 10
                step = step > 0 ? Math.ceil(step) : Math.floor(step);
                obj.style[attr] = current  + step + "px" ;
                console.log(current);
                if(current != json[attr])  // 只要其中一个不满足条件 就不应该停止定时器  这句一定遍历里面
                {
                    flag =  false;
                }
            }
            if(flag)  // 用于判断定时器的条件
            {
                clearInterval(obj.timer);
                //alert("ok了");
                if(fn)   // 很简单   当定时器停止了。 动画就结束了  如果有回调,就应该执行回调
                {
                    fn(); // 函数名 +  ()  调用函数  执行函数
                }
            }
        },30)
    }
    function getStyle(obj,attr) {  //  谁的      那个属性
        if(obj.currentStyle)  // ie 等
        {
            return obj.currentStyle[attr];  // 返回传递过来的某个属性
        }
        else
        {
            return window.getComputedStyle(obj,null)[attr];  // w3c 浏览器
        }
    }
</script>

相关文章

  • 360开机效果

  • 仿360开机

    仿360开机效果 1.布局 2.布局页面位置 3.在上一篇中,我们封装了缓动动画,这里我们不再重写一遍缓动框架啦。...

  • 无知就是原罪

    我电脑上有安装360安全卫士,于我而言,用的最多的大概就是关于“开机时间”提示这一功能,每次看到开机时间领先百分多...

  • 参360海参原力片好用吗

    作者:唇诺,chunnuo1020 摘要:参360海参原力片效果怎样?山海堂参360海参原力片好吗?山海堂参360...

  • Docker安装实战

    效果 环境 centos7.6 安装实战 启动服务 开机自动启动Docker

  • 几个千万不要

    1、千万不要安装360的任何软件 2、千万不要重新安装Windows系统,每天使用电脑流程:开机、工作、关机。

  • Unity 实战【360VR 看房】

    【介绍】 360全景VR看房,可以实现不同角度切换视角,下面为运行效果 360 全景的逻辑其实很简单,主要的思路是...

  • 遮罩旋转进场

    1.方块div平面旋转 代码 效果展示 2.封面div平面旋转 代码 效果展示 3.遮罩360°旋转进场 代码 效果展示

  • 电脑黑屏怎么办

    1,黑屏是啥?先看看黑屏的样子吧。 2,为啥黑屏?想想黑屏常常发生在啥时候?场景1:开机360提醒你软件更新,漏洞...

  • 为你的EditText添加一个烟花效果

    一个绚丽易用的输入框烟花效果,模仿网页360搜索框。gif图片表现效果不好,实际的Demo里显示的效果更佳,同时不...

网友评论

      本文标题:360开机效果

      本文链接:https://www.haomeiwen.com/subject/qjthpxtx.html