此代码加载javascript应用程序的图像:
var sampleImage = new Image();
sampleImage.ready = false;
sampleImage.onload = setAssetReady;
sampleImage.src = IMAGE_FILE;
function setAssetReady(){
this.ready = true;
}
我想找出一种不使用四行代码的方法。
我用答案建议的这种方式(除非我做错了):
var sampleImage = new Image();
sampleImage = loadTheImage(imageFile);
function loadTheImage(imageFile){
this.ready = false;
this.onload = setAssetReady;
this.src = imageFile;
}
function setAssetReady(){
this.ready = true;
}
图像未成功加载,并且当在代码中的不同位置的if语句中评估sampleImage.ready时,返回了一条错误消息:
无法阅读属性'准备好'未定义的
同样,我正在为许多图像执行此过程,因此我只需要为每个图像编写一行或两行代码,而不是我原来拥有的四行代码。或者,如果您有任何其他过程建议。
答案 0 :(得分:0)
function loadTheImage(imageFile){
sampleImage.ready = false;
sampleImage.onload = setAssetReady;
sampleImage.src = imageFile;
};
function setAssetReady(){
this.ready = true;
};
然后只为每张图片调用loadTheImage
。