我有这些:
<th scope="col">
<img style="height:200px" id="img1" src=""></div>
</th>
<th scope="col">
<img id="img2" src=""></div>
</th>
<th scope="col">
<img id="img3" src=""></div>
</th>
我想用以下代码加载一张随机图片:
var images = ['"image1.jpg"', '"image2.jpg"', '"image3.jpg"', '"image4.jpg"', 'image5.jpg'];
var longitut = images.length;
for(i=0;i<3;i++){
// Random Image
var num = Math.floor(Math.random()*longitut) ;
var foto=images[num];
var current='"img'+i+'"';
alert(foto);
var objecte =document.getElementById(current);
objecte.src=foto;
问题是img src无法正常工作,我无法发现错误。
答案 0 :(得分:1)
您没有选择任何元素。
变化:
var current = '"img' + i + '"'; // If i is 5 it produces '"img5"'
为:
var current = 'img' + i; // ==> 'img5'
另外,删除图像数组中的引号:
'"image1.jpg"' -> 'image1.jpg'
答案 1 :(得分:0)
you have to make this changes
<th scope="col">
<img style="height:200px" id="img1" src=""></div>
</th>
<th scope="col">
<img id="img2" src=""></div>
</th>
<th scope="col">
<img id="img3" src=""></div>
</th>
And I wanna load one random pic in each with the following code :
var images = ['"image1.jpg"', '"image2.jpg"', '"image3.jpg"', '"image4.jpg"', 'image5.jpg'];
var longitut = images.length;
for(i=0;i<3;i++){
// Random Image
var num = Math.floor(Math.random()*longitut) ;
var foto=images[num];
**var current="image"+i+".jpg";**
alert(foto);
var objecte =document.getElementById(current);
objecte.src=foto;
答案 2 :(得分:0)
你有一个错误就是你有额外的引用
应如下所示:
var images = ['image1.jpg', 'image2.jpg', 'image3.jpg', 'image4.jpg', 'image5.jpg'];
和
var current='img'+i;
我们图片的ID是img1
,img2
和img3
。 html代码中的双引号是语法的一部分,而不是ID。
但是在您的代码中,您将双引号添加到您尝试搜索的ID中:
var current='"img'+i+'"';
所以你找不到任何元素。
如果您解决了这个问题,您的图像仍然会出现问题。这与你对ids的原因相同。 (您尝试使用src "image1.jpg"
加载图片,但是您想要加载image1.jpg
)
答案 3 :(得分:0)
请尝试下面的html和javascript:
<th scope="col">
<img id="img1" style="height:200px" src="" />
</th>
<th scope="col">
<img id="img2" src="" />
</th>
<th scope="col">
<img id="img3" src="" />
</th>
使用Javascript:
var images = ['image1.jpg', 'image2.jpg', 'image3.jpg', 'image4.jpg', 'image5.jpg'];
var longitut = images.length;
for(i=1;i<=3;i++){
// Random Image
var num = Math.floor(Math.random()*longitut) ;
var foto=images[num];
var current='#img'+i;
$(current).attr("src",foto);
}