Как насчет анимирования, просматривая каждый элемент в массиве в функции?
var elements = [ "one", "two", "three"];
animate(elements);
function animate( elements, index )
{
if(!index) index = 0;
var box = '#' + elements[index];
var $$box = $("#box");
console.log( 'start - ' + elements[index] );
$$box.fadeOut( 500, function( )
{
console.log('showing - ' + elements[index]);
$$box.fadeIn( 500, function() {
console.log( 'end - ' + elements[index] );
if(elements[++index]) animate(elements, index);
} ).css('backgroundColor','white');
});
}
Вы можете даже вернуться к началу, если хотите:
var elements = [ "one", "two", "three"];
animate(elements);
function animate( elements, index )
{
if(!index) index = 0;
var box = '#' + elements[index];
var $$box = $(box);
console.log( 'start - ' + elements[index] );
$$box.fadeOut( 500, function( )
{
console.log('showing - ' + elements[index]);
$$box.fadeIn( 500, function() {
$$box.css('backgroundColor','white');
console.log( 'end - ' + elements[index] );
// go to next element, or first element if at end
index = ++index % (elements.length);
animate(elements, index);
} );
}).css('backgroundColor', 'aqua');
}