这种阶段性的进度条怎么做。

效果图

请问这种类似的效果图怎么做,或者有没有类似的demo链接发一下

阅读 4.5k
4 个回答

有两套图片(绿色的圆形图和灰色的圆形图,是不是灰色的我不清楚,反正就是默认的那种图),有两个颜色的进度线条,(灰色和绿色的),然后和楼上的思路是一样的,就是图片的两种class名称的切换,和两种class名称的线条的长度改变,比如(我只写线条的,懒得去找图片,反正方式是一样一样的):

.line{
                position: relative;
            }
            .default{
                position: absolute;
                margin: 0;
                padding: 0;
                width: 100%;
                border-bottom: 2px solid #999;
                border-top: none;
                border-left: none;
                border-right: none;
            }
            .runing{
                position: absolute;
                margin: 0;
                padding: 0;
                width: 80%;
                border-bottom: 2px solid #e4393c;
                border-top: none;
                border-left: none;
                border-right: none;
            }
            <div class="line">
            <hr class="default"/>
            <hr class="runing"/>
        </div>
你要做的就是用js配合,动态修改runing的宽度就Ok了,那个图片其实也差不多的,根据runing的长度,来切换图片(你甚至可以把一切都写死,前提是该效果有多个页面,并且都是静态的页面)

这种效果吗,动态添加 active 样式,应该可行;
图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .step{
            position: relative;
            width: 40px;
            height: 40px;
            float: left;
            margin-right: 100px;
            background-color: #ccc;
            border-radius: 50%;
        }
        .step:after{
            position: absolute;
            display: block;
            content: '';
            width: 100px;
            height: 4px;
            top: 18px;
            left: 40px;
            background-color: #ccc;
        }
        .end{
            width: 40px;
            height: 40px;
            float: left;
            background-color: #ccc;
            border-radius: 50%;
        }
        .step.active{
            background-color: #00ee00;
        }
        .step.active:after{
            background-color: #00ee00;
        }
    </style>
</head>
<body>
    <div class="step step-1 active"></div>
    <div class="step step-2"></div>
    <div class="step step-3"></div>
    <div class="end step-end"></div>
</body>
</html>

思路哈:这种进度条就是四张不同的背景图片。不同的进度切换不同的class就可以切换不同的背景图片。

我做过更麻烦的,球、线跟着进度变,球外边还得带转圈gif。主要思路就是通过ajax轮询接口,根据返回值操作相应的dom改变状态,比如切换背景图之类

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题