Export (0) Print
Expand All

Progress element | Progress object

Displays the progress of a time-intensive task.

HTML5 A vocabulary and associated APIs for HTML and XHTMLInternet Explorer 10



 <progress value="15" max="50"/> 

DOM Information

Inheritance Hierarchy



The Progress object has these types of members:


The Progress object has these properties.

PropertyAccess typeDescription


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


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.

    <title>Progress bar example</title>
    <style type="text/css">
        /* style the progress bar */
        border: 1px solid black;
        color: Blue;

    <script type="text/javascript">
        function goingUp() {
            // add 5% to value
            var pBar = document.getElementById("pbar");
            if (pBar.value <= (pBar.max - 5)) {
                pbar.value += 5;

        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
                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";

<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>
    <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 id="positionStatus"></div>

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)



© 2014 Microsoft