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'
});