jQuery Progressbar
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 posts 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") .progressbar("option","value"); if (progress < 100) { $("#progressbar") .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.
Other post in jQuery
- jQuery - The Man, The Myth, The Legend - October 8th, 2008
- Getting started with jQuery and ASP.NET - October 15th, 2008
- jQuery - Explaining Last Week's Code - October 21st, 2008
- Friday Books - "Learning jQuery" - October 24th, 2008
- jQuery Simple Selectors - October 28th, 2008
- Friday Books - "jQuery in Action" - October 31st, 2008
- jQuery Selectors - Looks just like CSS - November 6th, 2008
- VS2008 SP1 Hotfix to Support "-vsdoc.js" IntelliSense Doc Files - November 11th, 2008
- jQuery Looks like XPath - November 12th, 2008
- jQuery - class manipulation - November 19th, 2008
- jQuery - Events - December 2nd, 2008
- Host jQuery at Google (with Intellisense support) - December 10th, 2008
- jQuery - Calling Your Own Functions - December 16th, 2008
- Friday Books - jQuery Reference Guide - December 19th, 2008
- jQuery - Creating Plug-ins - December 23rd, 2008
- jQuery - Loading Partial Content - December 30th, 2008
- jQuery - Positioning Elements - January 6th, 2009
- AjaxToolKit TabControl Disabled Tab - January 12th, 2009
- jQuery, JSON, and ASP.NET - January 15th, 2009
- Review of the MDC at NYC - January 21st, 2009
- jQuery - Retrieving HTML Fragments - January 22nd, 2009
- jQuery GUI - Drag - February 3rd, 2009
- jQuery - Drop - February 12th, 2009
- jQuery UI - Resizable w/ ASP.NET Themes - February 18th, 2009
- jQuery, bgiframe and IE6 z-order hacks - February 19th, 2009
- jQuery - Sliders (scrollbars to the rest of us) - March 4th, 2009
- jQuery - Using Slider as a Scrollbar - March 12th, 2009
- jQuery - Auto Scrolling the Slider - March 23rd, 2009
- Live Presentation of jQuery - March 23rd, 2009
- Just a Week Away! - April 7th, 2009
- jQuery Tabs - April 9th, 2009
- jQuery Demos From Last Tuesday’s Presentation - April 16th, 2009
- jQuery – Accordion - May 6th, 2009
- CustomValidationControl and jQuery - May 11th, 2009
- Mixing ASP.NET, jQuery and JSON - May 12th, 2009
- jQuery Progressbar - May 20th, 2009
- jQuery – Dialog - June 2nd, 2009
- jQuery – Modal Dialog - June 9th, 2009
- Does jQuery Make Us Lazy? - June 18th, 2009
- jQuery Dialog – With Validation Controls - June 25th, 2009
- jQuery – Date Picker - July 2nd, 2009
- jQuery Splitter - July 21st, 2009
- jQuery Expand/Collapse Using Head Tags - October 15th, 2009
- Do you Need My Help? - November 18th, 2009
- Flash to jQuery - November 30th, 2009
- JQuery, CuFon, and Dynamic Content - December 1st, 2009
- jQuery, Each() and Async Gets - December 2nd, 2009
- jQuery and ASP.NET UpdatePanel - January 6th, 2010
- jQuery 1.4 Released - January 15th, 2010
Other Related Items:
jQuery in ActionA good web development framework anticipates what you need to do and makes those tasks easier and more efficient; jQuery practically reads your min... Read More >
Mastering JavaScript 2004Mastering JavaScript 2004
, Mastering JavaScript 2004 Training Tutorial Mastering JavaScript 2004 is a must have, step-by-step narrated simulation for the beginner, as well as a handy reference tool for professional interactive web programmers.
Beginner's JavaScript 2004 on DVDBeginner's JavaScript Programming 2004 teaches the basics of programming using JavaScript. JavaScript, a modern programming language, can be written ... Read More >
If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!










This is easy to implement following this post. but I like green progress bar instead of gray one
So, change the jQuery theme.
[...] jQuery Progressbar (Dave M. Bush) [...]
[...] jQuery Plugin – jQuery Progressbar (Suggested by Elijah Manor) [...]
This is fine but it’s not really showing the progress of whatever’s happening in the background. Kind of defeats the purpose of a progress bar, no?
Not sure how you can say that Alex. It shows what ever status you make it show. In the case of this code, it shows the status of time elapsing. In your code it would show whatever you want.