【发布时间】:2016-10-17 16:26:58
【问题描述】:
我正在使用 JavaScript 加载图像。像这样的:
images[0]=new Image();
images[0].onload=function(){loaded++;console.log(loaded)};
images[0].src="assets/img/image.png";
当我查看日志时,我发现所有图像都加载得很好,因为“加载”变量的值随着每个加载的图像而增加。
但是我想停止任何进一步的操作,直到这个数量达到最大值,所以在设置图像之后,我放置了一个 while 循环。
while(loaded<11){
document.getElementById("test").innerHTML="Loading "+loaded+"/11";
console.log(loaded);
}
//Some code here which should only run after everything has been loaded
//In other words: when the statement in the while cycle becomes false
但是我的浏览器只是崩溃了,因为 while 似乎陷入了无限循环。当我检查日志时,我看到“0”被写入了 1000 次,然后是从 1 到 11 的数字(这意味着图像实际上已加载,但 while 并不关心它,并且崩溃得更快比它可能发生的)。
我认为我在这里尝试使用的方法不是解决此问题的正确方法。
在加载网站所需的所有资产之前,我如何才能暂停所有内容?
【问题讨论】:
-
只要条件为真,就会尽可能快地循环。
标签: javascript html image canvas