Настройка очереди, в которую вы помещаете каждую из ваших функций. Вызов первой функции в очереди. Когда он завершает выполнение, он должен вытолкнуть следующую функцию из очереди и выполнить ее, и так далее. Не используйте синхронные запросы Ajax, так как это заблокирует браузер.
Упрощенный пример:
var queue = [];
queue.push(function(){
$("#replace").load("somefile.html", function(){
// Still need to check that another element to pop exists
(queue.pop())();
});
});
queue.push(function(){
$("#replace2").load("somefile2.html", function(){
// Still need to check that another element to pop exists
(queue.pop())();
});
});
(queue.pop())();
Обратите внимание, что это может быть дополнительно оптимизировано, и вам все равно нужно проверить, существует ли другой, который вы можете открыть и выполнить. Но это начало.