显示Javascript数组中的图像

时间:2015-10-23 08:36:53

标签: javascript arrays

我正在创建一个JS片段来在网页上显示叠加层,需要抓取图像,将它们保存到变量中,然后在叠加层上显示它们。

我目前在数组中有我需要的图像:

var itemImages = $(".itemImg img");
var imageArray = [];
for (i = 0; i < itemImages.length; i++) {
  imageArray.push("<li><img src='" + itemImages[i].src + "'/></li>");
}

图像数组如下所示:

["<li><img src='http://cdnmedia.marmot.com/images/product/tile/75940_9149_f.jpg'/></li>", "<li><img src='http://cdnmedia.marmot.com/images/product/tile/18840_001_f.jpg'/></li>"]

我似乎可以弄清楚如何在我的代码中显示这些内容。该功能目前如下所示:

function displayModal(itemCount, imageArray, cartTotal) {
  $("<article id='modal'><div id='itemCount'>" + "Total Items: " 
    + itemCount + "<br><div id=itemImages>" + "<div id='images'>" + "IMAGES!" +
    "</div></div></div></article>").css({
    "width": "461px",
    "height": "263px",
    "line-height": "200px",
    "position": "fixed",
    "top": "50%",
    "left": "50%",
    "margin-top": "-155px",
    "margin-left": "-232px",
    "background-color": "rgb(255,255,255)",
    "border-radius": "5px",
    "text-align": "center",
    "z-index": 101,
    "border": "1px solid rgb(227,227,227)",
    "border-top": "4px solid rgb(217,0,31)"
  }).appendTo("#overlay");
  $("#itemCount").css({
    "position": "relative",
    "bottom": "79px",
    "font-family": "Helvetica",
    "color": "#000",
    "font-size": "16px"
  }).appendTo("#modal");
}

我正在使用占位图像!对于实际图像。我似乎无法自己显示图像,只显示“对象”这个词。

1 个答案:

答案 0 :(得分:1)

我怀疑这是因为你引用了imageArray数组 - 这是一个对象 - 但你想要的是数组中的元素。

您可以使用与首次添加它们的方式类似的方式检索数组中的各个项目,例如

    for (i = 0; i < imageArray.length; i++) {
      var image = imageArray[i];
    } 

或者,您可以通过在displayModal函数的开头添加以下内容来构建所有图片HTML的字符串:

    var imageHTML = "";
    for (i = 0; i < imageArray.length; i++) {
      imageHTML += imageArray[i];
    } 

并在生成的HTML中添加imageHTML代替"IMAGES!"

我添加了working example to JSFiddle