最后的尝试
据我所知,你希望能够分辨图像何时加载,并多次执行。上一次尝试和您自己的代码的问题是“加载”处理程序仅在设置和执行新图像源之后应用。请尝试以下尺寸:
$(function () {
var images = ['image1.jpg','image2.jpg' /* ... */ ];
var imageObjects = [];
var imagesToLoad = 0;
for (i = 0, z = images.length; i < z; i++) {
imageObjects[i] = new Image();
imagesToLoad++;
$(imageObjects[i])
.load(function () {
if (--imagesToLoad == 0) {
// ALL DONE!
}
// anything in this function will execute after the image loads
var newImg = $('').attr('src',$(this).attr('src'));
$('.profile').append( $(newImg) ); // I assume this is the code you wanted to execute
})
.attr('src',images[i]);
// Notice that the 'attr' function is executed AFTER the load handler is hooked
}
});
[OLD]新的尝试
var images = [ /* you get it by now */ ];
for (i=0,z=images.length;i
$('')
.attr('src', images[i])
.load(function(){
$('.profile').append( $(this) );
// Your other custom code
});
}
原始邮政
从这篇文章中获取的想法
$(document).ready(function(){
var images = ["image1.jpg","image2.jpg"];
var loader = new Image();
for (i=0,z=images.count;i
loader.src = images[i];
// insert some code here to do something with the now-loaded image
}
// do something with the now-loaded images.
});
或者,
var images = ["image1.jpg","image2.jpg"];
var loader = [];
$(document).ready(function(){
for (i=0,z=images.count;i
loader[i] = new Image();
loader[i].src = images[i];
// insert some code here to do something with the now-loaded image
}
// do something with the now-loaded images, using the loader array
});