如何从数组中的数组预加载图像?

时间:2011-10-29 15:30:11

标签: javascript arrays image-preloader

我有预装图片的问题。

for(y=0;slide_image.lenght;y++){
   for(x=0;slide_image[y].lenght;x++){
      var preload_image=new Image();
      preload_image.src=slide_image[y][x];}
}

当我只使用preload_image.src=slide_image[x]时这样做;它有效,但当我有这两个它没有。也许这是JavaScript的错误?

这是slide_image数组:

var slide_image = new Array();

slide_image = [
    ['1/1.png', '1/2.jpg', '1/3.jpg', '1/4.jpg', '1/5.png'],
    ['2/text_1.png', '2/1.jpg', '2/2.jpg', '2/3.jpg', '2/4.jpg', '2/5.jpg', '2/6.jpg', '2/7.jpg'],
    ['3/1.jpg', '3/2.jpg', '3/3.jpg', '3/4.jpg', '3/5.jpg', '3/6.jpg']
];

Firebug和Firefox调试器什么都没说。我不知道为什么这不起作用。

2 个答案:

答案 0 :(得分:2)

您错误地length错误地使用了for循环。循环的中间“参数”应该是一个条件表达式,它将决定循环何时停止。

重写length并循环,直到你的循环计数器小于数组的长度,你得到:


for (y = 0; y < slide_image.length; y++) {
    for (x = 0; x < slide_image[y].length; x++) {
        var preload_image = new Image();
        preload_image.src = slide_image[y][x];
    }
}

答案 1 :(得分:1)

对于初学者,你错误输入Length