-2

所以我想在我的页面上打印 20 张图片。我想我应该将图像放在一个数组中,并且只需一个 FOR 循环,我就可以在同一页面上打印所有图片。我怎么能做到这一点?我是 javascript 的初学者,甚至不知道如何将这些图像放在一个数组中,然后获取每张图片的 src,然后一张一张地写出来。

4

3 回答 3

2

查看 W3C 的教程,很棒!;)

完整的 JavaScript 教程:http
://www.w3schools.com/js/ For 循环:http
://www.w3schools.com/js/js_loop_for.asp 数组:http://www.w3schools.com/js/js_obj_array。 ASP

于 2013-07-14T20:26:40.683 回答
1

首先:您可能需要考虑使用 PHP 来完成此任务,或者 - 如果图像没有更改且不是动态的 - 手动执行。为此使用 JavaScript 会给所有禁用 JavaScript 的用户带来巨大的不利影响。他们不会看到图像!但是,如果您需要这样做,请这样做:

var images = ['img1.jpg', 'img2.jpg', 'img3.jpg', 'img4.jpg', 'img5.jpg'];

for(var i = 0; i < images.length; i++) {
    var img = document.createElement("img");
    img.setAttribute('src', images[i]);
    img.setAttribute('alt', '');
    document.body.appendChild(img);
}
于 2013-07-14T20:25:27.460 回答
0

您可以尝试以下方法:

function E(e){
  return document.getElementById(e);
}
var imgs = ['img1.jpg', 'img2.png', 'img3.jpg', 'img4.jpg', 'img5.png', 'img6.jpg', 'img7.jpg', 'img8.png', 'img9.jpg', 'img10.jpg', 'img11.png', 'img12.jpg', 'img13.jpg', 'img14.png', 'img15.jpg', 'img16.jpg', 'img17.png', 'img18.jpg', 'img19.jpg', 'img20.png'];
var alt = [/*alternative info here like imgs*/];
var ttl = [/*titles here like imgs*/];
var output = '';
for(var i in imgs){
  output += "<img src='"+imgs[i]+"' alt='"+alt[i]+"' title='"+ttl[i]+"' />";
}
E('idWhereYouWantImgs').innerHTML = output;

我喜欢用.innerHTML. 这是一个 for 循环。在这种情况下,您可以使用这种类型的循环,因为 Array 是一个具有数字索引的对象。不要.getElementsByName()在 IE 8 或更早版本中使用 for in 循环或任何应返回数组的 Element 方法。

注意altttlArrays 必须与imgsArray 长度相同。

于 2013-07-14T20:38:50.267 回答