暂停使用ajax加载/显示动态图像?

时间:2011-04-22 18:54:54

标签: jquery ajax

我正在制作一个图像轮播,它会检查目录中是否有新上传的图像(基于顺序文件名)并将它们添加到轮播中。

var refreshId = setInterval(function() {
$.ajax({

// Checks to see if file exists
url : imageUrl,
success : function (xhr, d, e) {

// Adds image found at imageUrl to the carousel
$("#makeMeScrollable").smoothDivScroll("addContent", imageData);

// Increments imageUrl from /images/image01.jpg to images/image02.jpg etc
imageListener();
},

error : function (xhr, d, e) {
if (xhr.status == 404) {
}
}
});
}, 5000);

这一切都适用于已上传的图片,但发生的事情是我认为当我上传新图片时,它会在图片存在时返回成功,并尝试在上传完成之前将其添加到轮播中,而我最终得到的图像无法正常显示/脱机显示。我想我需要一些暂停的方法,直到上传和添加到轮播完成。它可能很简单,但我是新手,尝试过很多东西但没有成功。任何帮助是极大的赞赏!谢谢!

2 个答案:

答案 0 :(得分:0)

为什么不创建新的Image并将其src设置为URL并等待查看是否出现加载或错误事件,而不是使用XHR来确定文件是否存在?

答案 1 :(得分:0)

将图像上传到临时文件夹,然后在上传完成后将其移至实际文件夹