事情:我有一个页面,它必须显示不确定数量的图像,通过 AJAX(在服务器端使用 base64 编码)一一加载。
var position = 'front';
while(GLOB_PROCEED_FETCH)
{
getImageRequest(position);
}
function getImageRequest(position)
{
GLOB_IMG_CURR++;
$.ajax({
url: urlAJAX + 'scan=' + position,
method: 'GET',
async: false,
success: function(data) {
if ((data.status == 'empty') || (GLOB_IMG_CURR > GLOB_IMG_MAX))
{
GLOB_PROCEED_FETCH = false;
return true;
}
else if (data.status == 'success')
{
renderImageData(data);
}
}
});
}
问题是图像(由 renderImageData() 函数构建)仅在获取所有图像时才(全部)附加到某个 DIV。我的意思是,在循环结束之前不可能进行任何 DOM 操作。
由于可能有大量图像,我需要一张一张地加载和显示图像,所以我无法将它们堆叠起来,直到它们都被提取出来。