Я думаю, вам понадобится что-то вроде этого:
var elementArray = yourAjaxRequestReturningSomethingEdibleByJQuery();
fadeInNextElement(elementArray);
function fadeInNextElement(elementArray)
{
if (elementArray.length > 0)
{
var element = elementArray.pop();
$(element).fadeIn('normal', function()
{
fadeInNextElement(elementArray);
}
}
}
Внимание: я не проверял его, но даже если он не работает, вы должны понять и исправить это легко.
Кстати, я не согласен с использованием таймера. С таймером ничто не гарантирует того, что элементы постепенно исчезают один за другим, а появление одного элемента начнется только в том случае, если предыдущий закончился.
Теоретически, это должно работать, но могут быть случаи, когда ваша "цепочка" по какой-то причине должна остановиться, или анимация затухания не может завершиться вовремя и т. Д. Просто используйте правильную цепочку.