2011-04-22 16 views
0

我正在做一個圖像輪播,檢查新上傳的圖像(基於順序文件名)的目錄,並將它們添加到傳送帶。暫停動態圖像加載/顯示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); 

這一切對於已經上傳的圖片的偉大工程,但發生的事情是,我認爲,我上傳新的圖片,它返回的圖像的存在成功,並試圖將其添加到傳送帶,它的完成之前上傳,最後我的圖片顯示不正常/顯示爲脫機。我想我需要一些停止的東西,直到上傳和添加到傳送帶完成。這可能很簡單,但我是新的,並嘗試了很多東西,但沒有成功。任何幫助是極大的讚賞!謝謝!

+0

在圖像元素上使用'.load()'事件。 – 2011-04-22 18:58:20

回答

0

將圖像上傳到臨時文件夾,然後上傳完成後將其移動到實際文件夾中

+0

永遠不會想到這個!謝謝! – Rachel 2011-04-25 03:04:01

+0

有時替代路線更短,更容易直達路線:) – Ergec 2011-04-26 20:16:40

0

與其使用XHR來確定文件是否存在,爲什麼不只是創建一個新的Image並將其src設置爲URL並等待查看您是否收到加載或錯誤事件?

+0

做了這個,雖然它沒有完全解決這個問題(最終使用Ergec的想法),但它修復了另一個我有這樣的感謝! – Rachel 2011-04-25 03:05:11