Progress element | Progress object
Displays the progress of a time-intensive task.
![]() ![]() |
Syntax
<progress value="15" max="50"/>
DOM Information
Inheritance Hierarchy
Members
The Progress object has these types of members:
Properties
The Progress object has these properties.
| Property | Description |
|---|---|
|
Retrieves a reference to the form that the object is embedded in. | |
|
Defines the maximum, or "done" value for a progress element. | |
|
This property is obsolete. Use animation-name instead. | |
|
Returns the quotient of value/max when the value attribute is set (determinate progress bar), or -1 when the value attribute is missing (indeterminate progress bar). | |
|
Sets or gets the current value of a progress element. The value must be a non-negative number between 0 and the max value. |
Standards information
Remarks
When the value attribute is omitted, the progress element becomes indeterminate, that is, it shows activity but not how much progress has actually been made. If the value attribute is used without a maximum value, the range is from 0 to 1. To change the appearance from a ring to a bar, use the animation-name property to style the progress element's ms-fill pseudo-element. The progress element can be styled using CSS.
<html> <head> <title>Progress bar example</title> <style type="text/css"> #pbar { /* style the progress bar */ border: 1px solid black; color: Blue; background-color:Yellow; } </style> <script type="text/javascript"> function goingUp() { // add 5% to value var pBar = document.getElementById("pbar"); if (pBar.value <= (pBar.max - 5)) { pbar.value += 5; } checkStatus(); } function checkStatus() { // Shows position and value // -1 for indeterminate, otherwise current value divided by max. var pBar = document.getElementById("pbar"); document.getElementById("positionStatus").innerHTML = "Value: " + pBar.value; document.getElementById("positionStatus").innerHTML += "<br/>Position: " + pBar.position.toFixed(3); } function toggle() { var pBar = document.getElementById("pbar"); if (pBar.hasAttribute("value")) { // Removing the value attribute makes the progress bar indeterminate pBar.removeAttribute("value"); document.getElementById("tgl").innerHTML = "Make determinate"; } else { // Setting the value attribute makes the progress bar determinate pBar.value = 5; document.getElementById("tgl").innerHTML = "Make indeterminate"; } checkStatus(); } </script> </head> <body onload="checkStatus();"> <h1>Progress bar test</h1> <p>Click Up to change to a determinate bar and use buttons move the progress up or down by 5% increments.</p> <div> <label id="progLabel">Progress: <progress id="pbar" max="100">Put alternate display here</progress></label> <button onclick="goingUp();">Up</button> <button id= "tgl" onclick="toggle();">Make determinate</button> </div> <div id="positionStatus"></div> </body> </html>
Note For code samples, see Form controls part 1 and Form controls part 2: validation on the Windows Internet Explorer sample site.
See also
- Quickstart: Adding progress controls (Windows Store apps)
- How to style progress controls (Windows Store apps)
- Guidelines and checklist for progress controls (Windows Store apps)
Send comments about this topic to Microsoft
Build date: 11/28/2012

