web-dev-qa-db-ja.com

Bootstrapプログレスバーの進行

bootstrapを使用してWebサイトを作成し、プログレスバーを使用しようとしています。実行しようとしているのは、PHP (実行する関数は10個あります)バーの進行状況を10%進めます。彼はJavaスクリプトを使用して実行されていると思いますが、bootstrapと現在のWeb検索では、使用できるものは何も見つかりませんでした(ページの読み込みが100%まで進行する例がありますが、これらがどのように機能するかはわかりません)

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

上記は、bootstrapプログレスバーのHTML定義です。幅を変更すると、入力されるものの割合が変わることはわかっていますが、関数の完了後に変更する方法がわかりません。 (関数はすべて1つのページにあり、次々に実行されます)。

誰か助けてもらえますか?または私を正しい方向に向けますか?

10
NoLiver92

JQuery を使用することをお勧めします

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

またはJavascriptで

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

プログレスバーの幅は次のように変更できます。

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

percentageCompletedの値が変更されるたびに、その値が100になるまで、これを繰り返します。


デモ

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
.progress, .alert {
    margin: 15px;
}

.alert {
    display: none;
}
<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>

this Fiddle も参照してください)

7
John Slegers

1つのステップで進行状況バーのアニメーションを作成する必要がある場合は、次の2行のコードを作成できます。

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

デモを見る https://jsfiddle.net/qLgv2Lfm/29/

4
user2347746