How TO - JavaScript Progress Bar
Learn how to create a progress bar using JavaScript.
Creating a Progress Bar
Step 1) Add HTML:
Example
<div id="myProgress">
    <div id="myBar"></div>
</div>
Step 2) Add CSS:
To make an animation possible, the animated element must be animated relative to its "parent container".
Example
 #myProgress {
    position: relative;
    width: 100%;
    height: 
	30px;
    background-color: 
	grey;
 }
#myBar {
    position: absolute;
    
	width: 1%;
    height: 
    100%;
    
 background-color: green;
}
 Try it Yourself »
Step 3) Add JavaScript:
Create the Animation Using JavaScript:
Example
    function move() {
    var elem = document.getElementById("myBar");
	
    var width = 1;
    var id = 
	setInterval(frame, 10);
    function frame() {
        
	if (width >= 100) {
            
	clearInterval(id);
        } else {
            
	width++; 
            
	elem.style.width = width + '%'; 
        
	}
    }
}
 Try it Yourself »
Add Labels
If you want to add labels to indicate how far the user is in the process, add a new element inside (or outside) the progress bar:
Step 1) Add HTML:
Example
	<div id="myProgress">
  <div id="myBar">
    <div 
	id="label">10%</div>
  </div>
</div>
Step 2) Add CSS:
Example
    /* If you want the label inside the progress bar */
#label {
    text-align: center; /* If you want to center 
	it */
    line-height: 30px; /* Set the line-height to the 
	same as the height of the progress bar container, to center it vertically */
    color: 
	white;
}
 Try it Yourself »
Step 3) Add JavaScript:
If you want to dynamically update the text inside the label to the same value of the width of the progress bar, add the following:
Example
    function move() {
    var elem = document.getElementById("myBar");
	
    var width = 10;
    var id = 
	setInterval(frame, 10);
    function frame() {
        
	if (width >= 100) {
            
	clearInterval(id);
        } else {
            
	width++; 
            
	elem.style.width = width + '%'; 
           
	document.getElementById("label").innerHTML = width * 1 + 
	'%';
        
	}
    }
}
 Try it Yourself »

