数组的问题

时间:2010-11-10 14:49:36

标签: javascript arrays

我正在尝试以幻灯片方式显示图像。 因为我使用的是图像路径数组。但是数组只采用了第一个值(firstimage) 我的javascript是

var res;
var sp = new Array();
var hdnvalue = a = document.getElementById('HiddenField4').value;
var imgArr = hdnvalue.split(';');
for (var count = 0; count < imgArr.length; count++) {
    if (count == 0) 
        res = '[' + imgArr[count];
    else if (count != imgArr.length - 1) 
        res += '","","",""],[' + imgArr[count];
    else 
        res += '","","",""],[' + imgArr[count] + '","","",""]';
}
sp = res.split(';');
alert(sp);

var mygallery2 = new fadeSlideShow({
    wrapperid: "fadeshow2",
    dimensions: [568, 313],
    imagearray: [ * * sp * * ],
    //<--array of images!],
    displaymode: {
        type: 'auto',
        pause: 2500,
        cycles: 0,
        wraparound: false
    },
    persist: false,
    //remember last viewed slide and recall within same session?
    fadeduration: 500,
    //transition duration (milliseconds)
    descreveal: "always",
    togglerid: "fadeshow2toggler"
})

其中sp是我存储图像路径的数组。 这是分配像
数组的正确方法 imagearray:[     的         ],

3 个答案:

答案 0 :(得分:1)

您正在将数组存储在数组的第一个索引中。

如果要存储数组,请参考它

imagearray: sp,

答案 1 :(得分:0)

只需使用:

    // ...
    imagearray: sp,
    // ...

你已经构建了一个数组,所以只需要参考它的名字。

答案 2 :(得分:0)

(这不是答案,而是评论,但我需要写更长时间)

你在那里做的很混乱。

您似乎在变量res中创建了一个字符串。那是什么意思?你究竟想在循环中实现什么?

然后以分号(sp = res.split(';');)拆分该字符串,但该字符串不能包含任何分号。

是否需要创建一个数组数组,其中内部数组包含一个非空字符串和三个空字符串?在这种情况下,你可能想要这样的东西:

var imgArr = hdnvalue.split(';');
var sp = [];
for (var count = 0; count < imgArr.length; count++) {
   sp.push([imgArr[count], "", "", ""]);
}

var mygallery2 = new fadeSlideShow({
    wrapperid: "fadeshow2",
    dimensions: [568, 313],
    imagearray: sp, 
 /* ... etc. ... */