Create a series of images representing the various degrees that you want to present, making the differences as small as you would like. You can make four images representing 0%, 25%, 75% and 100% "progress" or one hundred images representing each 1% difference.
In JavaScript, instead of changing the width of the strip, you can then swap the place in the corresponding image to the current level of progress. if (progress < 25) image = '0percent.png'; (etc).
Doing this without the use of images is possible in some modern browsers with HTML 5 support, but completely impractical anywhere.
Please note that this is not at all like the standard download graphics. These spinners do not represent progress at all, as they simply rotate several times until the document loads. Thus, Spinners are created in the form of animated GIF files, so a single image can simply sit on the page, spinning merrily, until it is deleted.
source share