transition:all 0.5s linear;进度条动画效果 制作原理

Html:

<span class="progress"><b ><i></i></b><em>50</em>%</span>

Css:

.progress b,.xsprogress b{border-radius: 15px; background-color: #eee;150px; height:13px;border:1px solid #dcdcdc; display:inline-block; margin-right:5px; position:relative; top:2px;}

.progress b i,.xsprogress b i{background-color:#a0ce14; 1px; display:block;height:13px;border-radius: 13px 0 0 13px;transition:all 0.5s linear; }

Js:

$(".progress em").each(function(index, element) {

            var progress_width = 150*$(this).text()/100;  //宽度换算

            $(this).parents(".progress").find("i").width(progress_width);

});

思路:

先把进度条样式写出来

然后动态给里面的进度一个宽度,使用css3 transition属性做个动画效果,transition 需要改变一个属性值就会有动画效果 ,这里改变的就是进度条里面的宽度

关键点:根据获取过来的百分比值,再计算相应的宽度

原文地址:https://www.cnblogs.com/qiao20/p/5683520.html