私は次のようなAjax関数を持っています:
function getData(p) {
loadingImage();
p = p.replace("frame_", "");
if (window.XMLHttpRequest) {
AJAX=new XMLHttpRequest();
} else {
AJAX=new ActiveXObject("Microsoft.XMLHTTP");
}
if (AJAX) {
var __page =encodeURIComponent(p);
AJAX.open("GET", "page.php?page="+__page, false);
AJAX.send(null);
var __data = AJAX.responseText.match(/<data>[\s\S]*?<\/data>/gmi);
if(!__data) { return false; }
return __data;
} else {
return false;
}
}
次に、非常に単純な読み込み機能があります(読み込み画像はページの中央に表示される必要があります):
function loadingImage(type)
{
document.getElementById("body").innerHTML = "<div class='loading'></div>";
}
次に、ajax関数を呼び出す方法:
var loadedData = getData("home");
if(loadedData)
{
document.getElementById("body").innerHTML = loadedData;
}
else
{
document.getElementById("body").innerHTML = "Error";
}
ただし、読み込み中の画像は表示されません。非常に簡単ですが、ここで立ち往生しています。データをリクエストしているときに読み込み中の画像を表示してから、読み込み中の画像を読み込み中のデータに置き換える方法を説明します。ありがとう