2011-05-02 39 views
0

幸运的是,这个论坛的存在,所以我张贴棘手的问题,以大师...... 我就在一个页面加载多个图像的程序工作去了。 程序做的事情该做,问题是,我得到了undefined error,我没有任何想法的原因是什么,程序如下:的JavaScript多维数组 - 未定义的错误

var imagesList = [['aaa','sss'], ['bbb','ttt']]; 
putImages(imagesList); 
function putImages(imagesList){ 
    var i = 0; 
    if ($(imagesList).length > 0){ 
    LoadImage(i, imagesList); 
    } 
} 

function LoadImage(i, imagesList){ 
    var ele = imagesList[i][0], 
    name = imagesList[i][1];  
    if(i < $(imagesList).length){ 
    var curr = $('<li id="pic-'+ i +'"><div>' 
         + name +'</div>').addClass("loading"); 
    $(curr).appendTo(".photos"); 
    var image = new Image(); 
    $(image).load(function(){  
     $(this).appendTo("#pic-" + i); 
     $(curr).removeClass("loading"); 
     LoadImage(i+1, imagesList); 
    }).error(function(){ 
    }).attr("src", ele); 
    } 
} 

我试图用从这个链接JavaScript Multidimensional Arrays的建议,但它只是我试过我一直在Firefox中得到这个错误,其他浏览器似乎没问题。

非常感谢。

+0

什么是'imagesList'?你为什么把它传递给jQuery?我很确定Firebug告诉你在哪一行你会得到错误。不知道数组的结构,我们无法帮助你。 – 2011-05-02 10:14:03

+0

终于我能够编辑我的问题了,imageList的结构可以在程序的顶部看到,非常感谢! – Kari 2011-05-02 10:25:07

回答

0

我不知道确切的问题是什么,但它可能与您传递数组jQuery的事实。没有必要那样。

相反的$(imagesList).length,写imagesList.length

+0

我试过那个,它没有工作。好的是,该程序仍在做它必须做的事情,但我仍然得到未定义的错误。谢谢! – Kari 2011-05-02 10:42:54

+0

@Kari:Mmh。似乎找出问题的最好方法是安装Firebug并逐步查看代码中的变量值。 – 2011-05-02 10:56:26

+0

我有萤火虫,非常感谢您的建议:) – Kari 2011-05-02 10:57:35