Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何缩短此图像加载过程?_Javascript_Image_Load - Fatal编程技术网

Javascript 如何缩短此图像加载过程?

Javascript 如何缩短此图像加载过程?,javascript,image,load,Javascript,Image,Load,此代码为javascript应用程序加载图像: var sampleImage = new Image(); sampleImage.ready = false; sampleImage.onload = setAssetReady; sampleImage.src = IMAGE_FILE; function setAssetReady(){ this.ready = true; } 我想找出一种方法,不必为每个正在使用的图像使用四行代码 我使用了答案建议的方式(除非我做错了): 映像未成

此代码为javascript应用程序加载图像:

var sampleImage = new Image();
sampleImage.ready = false;
sampleImage.onload = setAssetReady;
sampleImage.src = IMAGE_FILE;

function setAssetReady(){
this.ready = true;
}
我想找出一种方法,不必为每个正在使用的图像使用四行代码

我使用了答案建议的方式(除非我做错了):

映像未成功加载,当在代码中不同位置的if语句中对sampleImage.ready求值时,返回一条错误消息:

无法读取未定义的属性“ready”

再说一次,我对很多图像都做了这个过程,所以我只想为每个图像编写一到两行代码,而不是我原来的四行代码。或者如果你有任何其他的建议

function loadTheImage(imageFile){
    sampleImage.ready = false;
    sampleImage.onload = setAssetReady;
    sampleImage.src = imageFile;
};
function setAssetReady(){
    this.ready = true;
};

然后对每个图像调用
loadTheImage

使用循环创建图像HTML片段。我使用了建议的第一个过程,遇到了困难。我误解了问题。我以为他只是想避免使用4行代码,而忽略了使用的每个图像的
部分。我使用jQuery扩展
Image()
对象:
$.extend(new Image(),{ready:false,onload:setassetrady,src:'Image\u FILE'})。我想不需要了。
function loadTheImage(imageFile){
    sampleImage.ready = false;
    sampleImage.onload = setAssetReady;
    sampleImage.src = imageFile;
};
function setAssetReady(){
    this.ready = true;
};