Просто предложение, но вместо использования стандартной функции и передачи элемента в качестве аргумента, было бы лучше использовать fn.extend.
$.fn.extend({
animateBar: function(){
$(this).find('.ui-progress-bar').css('background-position', '0px 0px');
$(this).find('.ui-progress-bar').animate({
backgroundPosition: '-20px 0px'
}, 1000, 'linear', function() {
animateBar(self);
});
}
});
Тогда вы бы вызвали функцию следующим образом:
$(this).animateBar();
против
animateBar( $(this) );
Только мои 2 цента. Однако решения @Markus для Gif, безусловно, лучше, если у вас нет особых причин использовать изображение, анимированное jQuery. Также ваше решение не будет зациклено само по себе.