0

我在预加载图像时遇到问题。

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 调试器什么也没说。我不知道为什么这行不通。

4

2 回答 2

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];
    }
}
于 2011-10-29T15:52:51.673 回答
1

对于您输入错误的初学者Length

于 2011-10-29T15:49:38.427 回答