虽然 Tats_innit 的回答对它有很好的触感,但我不得不做一些不同的事情,因为我在页面上有多个进度条。
这是我的解决方案:
JSfiddle:http: //jsfiddle.net/vacNJ/
HTML(示例):
<div class="progress progress-success">
<div class="bar" style="float: left; width: 0%; " data-percentage="60"></div>
</div>
<div class="progress progress-success">
<div class="bar" style="float: left; width: 0%; " data-percentage="50"></div>
</div>
<div class="progress progress-success">
<div class="bar" style="float: left; width: 0%; " data-percentage="40"></div>
</div>
</p>
JavaScript:
setTimeout(function(){
$('.progress .bar').each(function() {
var me = $(this);
var perc = me.attr("data-percentage");
var current_perc = 0;
var progress = setInterval(function() {
if (current_perc>=perc) {
clearInterval(progress);
} else {
current_perc +=1;
me.css('width', (current_perc)+'%');
}
me.text((current_perc)+'%');
}, 50);
});
},300);
@Tats_innit:使用 setInterval() 动态重新计算进度是一个不错的解决方案,谢谢队友!;)
编辑:
我的一个朋友为自定义 twitter 引导进度条编写了一个不错的 jquery 插件。这是一个演示:
http: //minddust.github.com/bootstrap-progressbar/
这是 Github 存储库:
https ://github.com/minddust/bootstrap-progressbar