在循环内多次附加预加载的图像

时间:2017-01-05 18:15:15

标签: javascript image

window.preloadShips = function(){
    window.shipImages.omega = new Image();
    window.shipImages.omega.src = "shipIcons/omega.png";
}

//later 

    for (var i = 0; i < this.primary.systems.length; i++){
        var td = document.createElement("td");
            td.className = "iconContainer";
            td.appendChild(window.shipImages.omega);
        tr.appendChild(td);
    }
    table.appendChild(tr);

执行此操作时,会发生的事情是只有表中的TD保持img,所有其他TD都将为空。

a)为什么会这样?

b)解决问题的最佳方法是什么?

  • 感谢

1 个答案:

答案 0 :(得分:2)

这可能是因为你指向循环中的同一个子DOM元素。这个stackoverflow question可以帮助您解决问题。

相关问题