Javascript 图像预加载程序在IE中不工作
我有以下代码来预加载图像:Javascript 图像预加载程序在IE中不工作,javascript,jquery,Javascript,Jquery,我有以下代码来预加载图像: preloader : function(images) { var imgCount = images.length; var counter = 0; $.each(images, function(i, n) { alert('hi'); // load each image $("<img />").attr("src", n).lo
preloader : function(images) {
var imgCount = images.length;
var counter = 0;
$.each(images, function(i, n) {
alert('hi');
// load each image
$("<img />").attr("src", n).load(function() {
counter++;
if(imgCount == counter) {
$('#loader').hide();
$('#wheel').show();
}
});
});
}
它在firefox中运行良好,但在IE中不起作用。我收到所有3个警报,因此每个循环都会运行,但它只加载第一个图像。如果我在数组中只输出一个图像,我将进入最后一个If语句,并显示和隐藏div。但是任何一张以上的图片都会被绊倒。正如我所说的,这在FF中工作良好,因此它不存在图像路径或图像丢失等问题
有什么想法吗?我真的被这个问题难住了。有人详细解释了同样的问题:
您需要延长
img
元素的使用寿命,直到图像实际加载为止。我一直使用这个奇妙的插件:
除了它的编码很好之外,这个插件处理的ie中的预加载图像也有问题。为什么你认为
“
对象在$中幸存下来。每次迭代?我只是假设它会…不是吗?这就是问题所在吗?如果是这样,我不知道如何修复。有什么想法吗?
preloader(['../images/image1.png','../images/image2.png','../images/image3.png']);
$.preload([ 'red', 'blue', 'yellow' ], {
base:'images/colors/',
ext:'.jpg'
});