我正在为我的 html5 项目编写图像预加载器,但遇到了问题。游戏中使用的图像是使用 JavaScript 中的图像对象定义的,如下所示:
images = new Array();
images[0] = new Image();
images[0].src = '/images/tiles/grass.png';
一旦“document.ready”运行如下所示的预加载器功能。
function preLoader(){
while(loaded != images.length){
var loaded = 0;
for(var loadTest = 0; loadTest < images.length; loadTest++){
if(images[loadTest].complete){
loaded ++;
}
}
console.log(loaded);
}
console.log("loaded all");
}
问题是循环永远不会结束,因为 images[loadTest].complete 总是返回 false。我已经测试了在页面加载几秒钟后运行该功能,当时图像已经完全加载并且它工作得很好。
因此,我假设运行的 while 循环正在停止加载图像。如果这是真的,我将如何解决这个问题?