Написал этот плагин / метод, чтобы очень легко анимировать любой индикатор прогресса, и он работает очень хорошо для меня, поэтому я надеюсь, что он подходит и для всех остальных.
(function( $ ) {
$.fn.animate_progressbar = function(value,duration,easing,complete) {
if (value == null)value = 0;
if (duration == null)duration = 1000;
if (easing == null)easing = 'swing';
if (complete == null)complete = function(){};
var progress = this.find('.ui-progressbar-value');
progress.stop(true).animate({
width: value + '%'
},duration,easing,function(){
if(value>=99.5){
progress.addClass('ui-corner-right');
} else {
progress.removeClass('ui-corner-right');
}
complete();
});
}
})( jQuery );
Просто добавьте этот код в верхнюю часть вашей страницы в любом месте и используйте его как элемент
$('#progressbar').animate_progressbar(value [, duration] [, easing] [, complete] );
EDIT:
Вот уменьшенная версия кода, она загружается немного быстрее.
(function(a){a.fn.animate_progressbar=function(d,e,f,b){if(d==null){d=0}if(e==null){e=1000}if(f==null){f="swing"}if(b==null){b=function(){}}var c=this.find(".ui-progressbar-value");c.stop(true).animate({width:d+"%"},e,f,function(){if(d>=99.5){c.addClass("ui-corner-right")}else{c.removeClass("ui-corner-right")}b()})}})(jQuery);