模拟进度条发现的彩蛋

Posted 行,无所谓崎岖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模拟进度条发现的彩蛋相关的知识,希望对你有一定的参考价值。

  在模拟实现一个进度条的时候,首先想到的方法是控制width(横着的进度条),height(竖着的进度条)。

  我在这么做的时候遇到了一个问题。高度总是从下到上变换的。如果是倒着来的进度条就不好实现。宽度总是从左到右变话的。如果从右到左也遇到了问题。

  解决方法如下,设定一个relative的框,内部设定一个 absolute的框来实现进度条,进度条的初始位置根据top,left,bottom,right四个值来确定。

  

<div class="cont">
        <div class="relative fl box">
            <div class="ctx top"></div>
        </div>
        <div class="relative fr box">
            <div class="ctx bottom"></div>
        </div>
    </div>
    <button id="first">第一个div</button>
    <button id="second">第二个div</button>
    <button class="reset">reset</button>
    <div class="cont">
        <div class="relative bar">
            <div class="progress left"></div>
        </div>
        <div class="relative bar">
            <div class="progress right"></div>
        </div>
    </div>
    <button id="third">第一个div</button>
    <button id="fourth">第二个div</button>
    <button class="reset">reset</button>

  通过transition来实现过渡效果

  

.cont{
            width:600px;
            overflow: hidden;
        }
        .relative{
            position: relative;
        }
        .box{
            width:250px;
            height:300px;
        }
        .fl{
            float:left;
        }
        .fr{
            float:right;
        }
        .ctx{
            background-color: #FFF000;
            position: absolute;
            width:100%;
            height:0;
            left:0;
            transition: height .8s linear;
            -webkit-transition: height .8s linear;
        }
        button{
            margin-right: 10px;
            margin-top: 10px;
        }
        .top{
            top:0;
        }
        .bottom{
            bottom:0;
        }
        .left{
            left:0;
        }
        .right{
            right: 0;
        }
        .progress{
            background-color: #FF0000;
            position: absolute;
            width:0%;
            height:100%;
            -webkit-transition: width .8s linear;
            transition: width .8s linear;
        }
        .bar{
            height:30px;
            margin-top: 20px;
        }

    效果如下,demo地址,还不会使用cnblogs的demo示例。http://csywweb.github.io/i/1/index.html

以上是关于模拟进度条发现的彩蛋的主要内容,如果未能解决你的问题,请参考以下文章

当片段视图加载是异步任务的一部分时,如何在片段加载之前显示进度条?

自定义对话框片段内的进度条 - 如何从 AsyncTask 传递进度?

在recyclerview片段Reandroid中屏幕旋转后进度条不显示

命令行模拟进度条

css Bootstrap 3进度条片段

Android 中ProgressDialog进度条对话框的使用(使用子线程模拟更新进度)