圆圈进度条

利用
css的transform来实现圆圈进度条

图片.png

主要是利用了其半遮挡 的原理。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>圆边</title>
    <style type="text/css" media="screen">
    .circle-press-box {
        overflow: hidden;
        display: block;
        width: 200px;
        height: 200px;
        background-color: transparent;
        margin: auto;
        position: relative;
    }
    
    .circle-box {
        box-sizing: border-box;
        display: block;
        border-radius: 50%;
        width: 100%;
        height: 100%;
        border: 20px solid red;
    }
    
    .left-bg {
        box-sizing: border-box;
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        transform: rotate(0deg);
        border-left: 100px solid #fff;
    }
    
    .right-bg {
        box-sizing: border-box;
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        transform: rotate(0deg);
        border-right: 100px solid #fff;
    }
    
    .big-half-box {
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%;
        display: none;
        transform: rotate(0deg);
    }
    
    .half-box {
        position: absolute;
        top: 0;
        right: 0;
        overflow: hidden;
        width: 50%;
        height: 100%;
    }
    
    .half-circle {
        box-sizing: border-box;
        position: absolute;
        top: 0;
        right: 0;
        border-radius: 50%;
        width: 200%;
        height: 100%;
        border: 20px solid red;
    }
    
    .text-box {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        text-align: center;
        line-height: 200px;
    }
    </style>
</head>

<body>
    <div class="circle-press-box">
        <div class="circle-box"></div>
        <div class="left-bg"></div>
        <div class="right-bg"></div>
        <div class="big-half-box">
            <div class="half-box">
                <div class="half-circle"></div>
            </div>
        </div>
        <div class="text-box">
            123
        </div>
    </div>
    <script src="js/jquery-1.7.2.js"></script>
    <script type="text/javascript">
    $(function() {
        var r_val = 0;
        setInterval(function() {
            r_val+=1;
            r_val=r_val%360;
            console.log(r_val);
            if (r_val>=180) {
                
                $('.big-half-box').css({'display':'block','transform': 'rotate(' +(r_val-180)+ 'deg)'});
            }else{
                $('.right-bg').css('transform', 'rotate(' + r_val + 'deg)');
                $('.big-half-box').css('display','none');
            }
            $('.text-box').text(parseInt((r_val/360).toFixed(2)*100)+'%');
        }, 30);



    });
    </script>
</body>

</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 项目中要用到圆圈的进度条,本来想用第三方的,后面还是自己简单的画了一个。大致是下图这个样子: 也是很简单的一个东西...
    水煮杰尼龟阅读 5,480评论 1 0
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,695评论 4 61
  • 版本命名 兼容包命名 如在Gradle中以maven形式加入兼容包依赖,你需要用以下代码: 此段maven格式分三...
    CPPAlien阅读 2,615评论 0 2
  • - 1 - 曾经参加过一个关于感情观方面的沙龙讨论。其中有一个女孩讲的故事吸引住了我。她讲到了她对于现在的感情感到...
    小7阅读 4,911评论 2 12
  • 1、人数在十人以内,宜家宴。超过十人,宜外食。 2、大型年夜饭容易集体无聊,所以最好设计一个人人可参与的主题游戏。...
    丁子浚阅读 3,339评论 0 0

友情链接更多精彩内容