【发布时间】:2010-11-05 21:06:30
【问题描述】:
场景:预加载图片
- 执行 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 完成执行?我担心可能的比赛条件。
【问题讨论】:
-
这是您的实际代码,还是只是一个示例。您是否有问题,即您是否真的遇到了竞争状况?
-
目前没有遇到问题,但希望避免可能出现的问题。
标签: javascript events dom conditional-statements race-condition