Over a million developers have joined DZone.

jQuery ProgressBar

DZone 's Guide to

jQuery ProgressBar

· Web Dev Zone ·
Free Resource

Once you venture into the land of AJAX you’ll soon discover the need to let your user know that some work is taking place in the background.  If you can, you’ll want to let them know just how long that work will take before they can continue.  For that, jQuery has the progress bar.

Just like most of the other jQuery UI widgets, you’ll need to make sure you have a theme created.  You can see some of the earlier post on jQuery UI to find out how to do that.

To use the progress bar, you’ll need some HTML.

<div id="progressbar"></div>

yep.  That’s all you need.  The progress bar will size itself to the containing div.

Next, you’ll need some jQuery code. For now we’ll go with something simple:

$(function() {
$("#progressbar").progressbar({ value: 37 });

Which will render a progress bar 37% complete


Of course a progress bar is suppose to show some status.  So, let’s simulate some status using setTimeout()

$(function() {
$("#progressbar").progressbar({ value: 0 });
setTimeout(updateProgress, 500);

function updateProgress() {
var progress;
progress = $("#progressbar")
if (progress < 100) {
.progressbar("option", "value", progress + 1);
setTimeout(updateProgress, 500);

Here, we are calling the updateProgress function every 1/2 second, retrieving the current value of the progress bar and incrementing it by one if it has not reached 100% done yet.

If you need them, there is an event to handle when the progress bar has been changed and methods to disable, enable, and destroy the progress bar.

It really is a pretty simple control.



Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}