美文网首页
加载小球效果

加载小球效果

作者: 印子_cfbb | 来源:发表于2019-04-02 16:05 被阅读0次

起因:
作为底层民工面试工作基本都要笔试,之前笔试遇到一道简单的题目是写一个加载的进度球,可我当时愣是没写出来。现在闲着没事写一下。

效果下图:


加载球.png

实现的代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        .out {
            position: relative;
            width: 200px;
            height: 200px;
            border-radius: 50%;
            background-color: #fff;
            overflow: hidden;
        }
        .in {
            position: absolute;
            bottom: 0;
            left: 0;
            background-color: red;
            height: 0px;
            width: 100%;
            overflow: hidden;
        }
        .out-percent {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%,-50%);
            font-size: 52px;
            color: red;
        }
        .in-percent {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%,-50%);
            font-size: 52px;
            color: #fff;
        }
        .gb {
            position: absolute;
            bottom: 0;
            left: 0;
            height: 200px;/* 与外层盒子保持一直 */
            width: 100%;
        }
        .box {
            background-color: antiquewhite;
            font-weight: bold;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="out">
            <div class="out-percent">0%</div>
            <div class="in" style="height:0px">
                <div class="gb">
                    <div class="in-percent">0%</div>
                </div>
            </div>
        </div>
    </div>
    
</body>
</html>
<script>
    // 获取元素
    var in_box = document.querySelector('.in')
    var out_box = document.querySelector('.out')
    var in_per  = document.querySelector('.in-percent')
    var out_per = document.querySelector('.out-percent')
    // 每次递加的百分比
    var addper = 10 
    // 设置定时器,实现自动加载
    var timer = setInterval(() => {
        var in_height = parseInt(in_box.style.height) + (addper * out_box.offsetWidth) /100
         if (parseInt(in_height) > out_box.offsetWidth) {
            clearInterval(timer)
            return
        }
        in_box.style.height = in_height + 'px'
        var per = parseInt(in_height/ out_box.offsetWidth * 100)  + "%"
        in_per.innerHTML = per
        out_per.innerHTML = per
    }, 1000);
</script>

相关文章

  • 加载小球效果

    起因:作为底层民工面试工作基本都要笔试,之前笔试遇到一道简单的题目是写一个加载的进度球,可我当时愣是没写出来。现在...

  • AE动画の加载小球的动画

    今天学习的是利用"表达式链接"制作加载小球的动画,效果如下: 操作步骤: 1 / 新建合成,时间2秒 2 / 圆形...

  • OpenGL-- 小球绕大球公转案例解析

    一、 效果图大球自传,并且小球绕着公转效果图 代码思路: 先绘制地板 地板 + 大球的效果 地板+ 大球+小球的效...

  • 小球碰壁效果

    思路:1. 先创建一个画布2. 在js创建一个var x = 0,y=0 代表 小球的x轴和y轴3. 封装一个小球...

  • 知识回顾第一期

    一、作品效果1、小球朝着某个方向移动,碰到舞台边缘反弹。2、小猫追着小球跑,当小猫碰到小球后,小球随机变换位置继续...

  • 视差动画-旋转加载动画

    效果: 效果分析: 第一步旋转小球 1.1通过integer-array来定义显示的小球个数和颜色 1.2 Mat...

  • 自定义 View 实现小球撞击数据加载效果

    前言:刚开始是假装坚强,后来就真的坚强了。——杨绛。 承接上一篇自定义 View 属性动画,本篇实现一个类似“小球...

  • 十、OpenGL - 公转自转优化(镜面及纹理)

    setupRC函数 创建需要的小球,地板,加载图像为2D纹理 渲染 大小球的渲染是相同的,我们可以将功能抽离出来 ...

  • Animation随记

    最终实现的小球效果: Evaluator 加速器 ValueAnimator与ObjectAnimator

  • 12.vue 点击购物车小球效果解决定位问题:

    4.实现点击购物车小球弹入效果: 小球动态效果实现后遇到一下问题: 页面下翻动,定位写死导致定位不准确 分辨率更换...

网友评论

      本文标题:加载小球效果

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