在Javascript中动态设置(当前是静态的)图像数组

我想通过javascript和js文件实现图像的幻灯片放映,其中幻灯片包含top4图像。

我使用了图像数组有静态图像的脚本。

我想通过从index.aspx.cs文件中查找存储在隐藏字段中的图像名称来动态转换它。 如何检索这些隐藏字段并将其添加到图像数组?

 var mygallery2=new fadeSlideShow({ wrapperid: "fadeshow2", //ID of blank DIV on page to house Slideshow dimensions: [568, 313], //width/height of gallery in pixels. Should reflect dimensions of largest image imagearray: [ ["images/1.jpg", "", "", ""], ["images/2.jpg", "", "", ""], ["images/3.jpg"], ["images/4.jpg", "", "", ""] //<--no trailing comma after very last image element! ], 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" })  

上面的脚本有静态图像的图像arrays。 我想通过查找隐藏的字段值来动态创建它。

我怎样才能做到这一点。

我在javascript中很穷。 请帮我

在给定脚本执行之前,您可以创建一个包含脚本名称的Javascript数组,但这是合适的,例如:

 var myImages = []; var hiddenElements = getMyHiddenElements(); for (int i = 0; i < hiddenElements.length; i++) { myImages[myImages.length] = hiddenElements[i].value; } 

然后,当您创建fadeSlideShow时,您可以传入数组而不是创建一个内联:

 var mygallery2=new fadeSlideShow({ ... dimensions: [568, 313], //width/height of gallery in pixels imagearray: myImages, ... 

这将使用您之前为图像源创建的数组。 (请注意,根据您的代码段,您可能需要将其设置为具有可能标题/标题的二维数组,但原理保持不变。根据您的隐藏字段预先创建数组作为标准Javascript变量,然后将其传递给幻灯片构造函数)。

请注意,从隐藏字段中提取信息听起来并不是实现此function的最简洁方法。 您可能会发现,如果您动态生成页面,实际上更容易使用文字Javascript数组声明生成页面,而不是添加隐藏字段,然后通过JS将它们转换为“运行时”的数组。

如果您知道隐藏字段的ID [隐藏输入框],那么您可以试试这个

 imagearray: [ [$("#id1").val(), "", "", ""], [$("#id2").val(), "", "", ""], [$("#id3").val()], [$("#id4").val(), "", "", ""] //<--no trailing comma after very last image element! ]