方案:預加載圖片JavaScript和DOM事件的交互和可能的競爭條件
- 執行一個Ajax查詢
- 顯示加載屏幕
- 檢索AJAX查詢結果
- 圖像插入DOM
- 等待圖像加載完成
- 隱藏加載屏幕
我想執行以下操作:
function ajaxCallback(results) {
/* snip insert into dom code */
$(".waitForLoad").each(function() {
imageLoadingCount++;
$(this).load(imageLoaded);
});
}
var imageLoadingCount = 0;
function imageLoaded() {
imageLoadingCount--;
if (imageLoadingCount == 0)
HideLoadingScreen();
}
我不太清楚瀏覽器的DOM和JavaScript之間的相互作用。在開始加載圖像之前,DOM是否等待javascript完成執行?我擔心可能的比賽條件。
這是你的實際代碼,或者只是一個例子。您是否遇到問題,即您是否實際遇到競爭狀況? – 2009-06-25 15:20:57