Bootstrap进度条进度

时间:2013-08-30 10:45:50

标签: javascript jquery html twitter-bootstrap progress-bar

我正在使用bootstrap来创建我的网站,我正在尝试使用进度条。我想要做的是在用PHP完成一个函数之后(我有10个函数要做)我将条形图的进度提前10%。我相信他是使用java脚本完成的,但我不确定如何使用bootstrap,我当前的网络搜索没有发现我可以使用的任何东西。 (有一些例子说明页面加载进度为100%,但我不知道这些是如何工作的)

<div class="progress progress-striped active">
    <div class="bar" style="width: 0%;"></div>
</div>

以上是我对bootstrap进度条的HTML定义。我知道改变宽度会改变填充的百分比但我不知道在完成一个功能之后如何改变它(功能都在一个页面中一个接一个地运行)。

有人可以帮忙吗?或指出我正确的方向?

3 个答案:

答案 0 :(得分:7)

您可以像这样更改进度条的宽度:

$('.progress-bar').css('width', percentageCompleted + '%');

只要percentageCompleted的值发生变化,就会不断重复此操作,直到该值为100。

演示

&#13;
&#13;
var $progress = $('.progress');
var $progressBar = $('.progress-bar');
var $alert = $('.alert');

setTimeout(function() {
    $progressBar.css('width', '10%');
    setTimeout(function() {
        $progressBar.css('width', '30%');
        setTimeout(function() {
            $progressBar.css('width', '100%');
            setTimeout(function() {
                $progress.css('display', 'none');
                $alert.css('display', 'block');
            }, 500); // WAIT 5 milliseconds
        }, 2000); // WAIT 2 seconds
    }, 1000); // WAIT 1 seconds
}, 1000); // WAIT 1 second
&#13;
.progress, .alert {
    margin: 15px;
}

.alert {
    display: none;
}
&#13;
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.1.min.js"></script>
<div class="progress">
    <div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div>
</div>

<div class="alert alert-success" role="alert">Loading completed!</div>
&#13;
&#13;
&#13;

(另见this Fiddle

答案 1 :(得分:4)

首选使用JQuery

$(".bar").css("width", "50%");

或在Javascript中

var bars = document.getElementsByClassName("bar");
bars[0].style.width = "50%";

答案 2 :(得分:4)

如果您需要一步制作进度条的动画,则可以制作两行代码:

$progressBar.animate({width: "100%"}, 100);
$progress.delay(1000).fadeOut(500);

参见演示https://jsfiddle.net/qLgv2Lfm/29/