DOM манипуляция дорогая. Старайтесь не делать этого, если вы можете избежать этого.
Являются ли ссылки, которые вы загружаете, статическими или динамическими? То есть после загрузки вам нужно загрузить их снова? Если ответ «нет», сделайте следующее:
<div id="carousel"></div>
с CSS:
#carousel div { display: none; }
и
var pages = ["text1.html", "text2.html", "text3.html"];
$(function() {
for (int i=0; i<pages.length; i++) {
$("<div></div>").appendTo("#carousel").load(pages[i]);
}
setInterval(rotate_pages, 5000);
});
function rotate_pages() {
var carousel = $("#carousel");
var pages = $(carousel).children();
var visible = pages.filter(":visible");
if (visible.length == 0) {
pages.get(0).fadeIn();
} else {
var index = pages.index(visible);
index++;
if (index >= pages.length) [
index = 0;
}
visible.fadeOut(function() {
pages.get(0).fadeIn();
});
}
}
Таким образом, вы загружаете страницы только один раз и просто скрываете / отображаете div, если это необходимо для их поворота.