Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Bootstrap progress bar progression

I am using bootstrap to create my website and I am trying to use a progress bar. What I am trying to do is after I complete a function in PHP (I have 10 functions to do) I advance the progress of the bar by 10%. I believe his is done using java-script but I am unsure on how to do it with bootstrap and my current web searches have not turned up anything I could use. (there are examples of when the page loads progress to 100% but I don't know how these work)

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

This above is my HTML definition of the bootstrap progress bar. I know changing the width changes the percentage of what is filled in but I don't know how to change it after I have completed a function (functions are all in one page ran one after another).

Could someone help? or point me in the right direction?

like image 863
NoLiver92 Avatar asked Aug 30 '13 10:08

NoLiver92


People also ask

Which bootstrap 4 class is used to add stripes to a progress bar?

Use background utility classes to change the appearance of individual progress bars.


1 Answers

You can change the width of your progress bar like this :

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

Just keep repeating this whenever the values of percentageCompleted changes, until that value is 100.


A demo

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>

(see also this Fiddle)

like image 172
John Slegers Avatar answered Oct 19 '22 04:10

John Slegers