Your code is working correctly, but offsetWidth returns the physical pixel width of the element on the screen. Since you're doing a strict equality comparison using ===, the if() block never evaluates to true; offsetWidth returns an integer to start, and will never append the % value.
For example, see this jsFiddle demo -- the <input />'s value becomes an integer.
If you absolutely need to have the width as a percentage value, you'll need to access the element's CSS definitions using the HTMLElement.style property as follows:
document.getElementsByClassName("progress-bar")[0].style.width;
jsFiddle Demo
Ultimately, your if() block will become:
if( document.getElementsByClassName("progress-bar")[0].style.width == '100%' ) { clearInterval(r1); clearInterval(r2); clearInterval(r3); }