我需要编写一个进度条,该进度条有一些自定义的最大宽度值和一个自定义的进度。我发现了一些与之相关的东西,但它缺少一些功能。动态进度条
HTML:
<div class="meter">
<span style="width:502px"></span>
<p></p>
</div>
CSS:
div.meter {
position: relative;
width: 500px;
height: 25px;
border: 1px solid #b0b0b0;
margin-top: 50px;
/* viewing purposes */
margin-left: 100px;
/* viewing purposes */
-webkit-box-shadow: inset 0 3px 5px 0 #d3d0d0;
-moz-box-shadow: inset 0 3px 5px 0 #d3d0d0;
box-shadow: inset 0 3px 5px 0 #d3d0d0;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
-ms-border-radius: 3px;
-o-border-radius: 3px;
border-radius: 3px;
}
div.meter span {
display: block;
height: 27px;
animation: grower 1s linear;
-moz-animation: grower 1s linear;
-webkit-animation: grower 1s linear;
-o-animation: grower 1s linear;
position: relative;
top: -1px;
left: -1px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
-ms-border-radius: 3px;
-o-border-radius: 3px;
border-radius: 3px;
-webkit-box-shadow: inset 0px 3px 5px 0px rgba(0, 0, 0, 0.2);
-moz-box-shadow: inset 0px 3px 5px 0px rgba(0, 0, 0, 0.2);
box-shadow: inset 0px 3px 5px 0px rgba(0, 0, 0, 0.2);
background-color:#e8e8e8;
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr=#e8e8e8, endColorstr=#ff8d00);
background-image:-moz-linear-gradient(left, #e8e8e8 0%, #ff8d00 46%,#eb0221 100%);
background-image:linear-gradient(left, #e8e8e8 0%, #ff8d00 46%,#eb0221 100%);
background-image:-webkit-linear-gradient(left, #e8e8e8 0%, #ff8d00 46%,#eb0221 100%);
background-image:-o-linear-gradient(left, #e8e8e8 0%, #ff8d00 46%,#eb0221 100%);
background-image:-ms-linear-gradient(left, #e8e8e8 0%, #ff8d00 46%,#eb0221 100%);
background-image:-webkit-gradient(linear, left bottom, right bottom, color-stop(0%,#e8e8e8), color-stop(46%,#ff8d00),color-stop(100%,#eb0221));}
-webkit-background-size: 100%;
-moz-background-size: 100%;
-o-background-size: 100%;
background-size: 100%;
}
div.meter span:before {
content: '';
display: block;
width: 100%;
height: 50%;
position: relative;
top: 50%;
background: rgba(0, 0, 0, 0.03);
}
div.meter p {
position: absolute;
top: 0;
margin: 0 10px;
line-height: 25px;
font-family: 'Helvetica';
font-weight: bold;
-webkit-font-smoothing: antialised;
font-size: 15px;
color: #333;
text-shadow: 0 1px rgba(255, 255, 255, 0.6);
}
@keyframes grower {
0% {
width: 0%;
}
}
@-moz-keyframes grower {
0% {
width: 0%;
}
}
@-webkit-keyframes grower {
0% {
width: 0%;
}
}
@-o-keyframes grower {
0% {
width: 0%;
}
}
SCRIPT:
$(function(){
var bar = $('span');
var p = $('p');
var width = "bar.attr('style')";
width = width.replace("width:", "");
width = width.substr(0, width.length-1);
var interval;
var start = 0;
var end = parseInt(width);
var current = start;
var countUp = function() {
current++;
p.html(current + "%");
if (current === end) {
clearInterval(interval);
}
};
interval = setInterval(countUp, (1000/(end + 1)));
});
HERE FIDDLE
进度条的最大宽度应customiz能够例如10000 ,并且您的进度是5000.最大值应该是脚本中插入的任何数字。如果它也显示等分的酒吧4。像下面的图片。