написал на бум, сам не пробовал, но возможно натолкнет в сторону правильно рещения
про queue,
про dequeue
var reset = function() {
$(this).css({ 'backgroundPosition': '-220px 0px'})
.dequeue();
}
var animate = function() {
$(this).animate({ backgroundPosition: '-220px ' + posY }, 'linear');
.dequeue();
}
$('.test').animate({ backgroundPosition: '-220px ' + posY }, 'linear')
.queue(reset)
.queue(animate)
.queue(reset)
.queue(animate)
.queue(reset)