0

我有这些:

<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 不起作用,我无法发现错误。

4

4 回答 4

1

您没有选择任何元素。

改变:

var current = '"img' + i + '"';  // If i is 5 it produces '"img5"'

至:

var current = 'img' + i;  // ==> 'img5'

此外,删除图像数组中的引号:

'"image1.jpg"' -> 'image1.jpg'
于 2013-02-01T09:04:41.650 回答
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;
于 2013-02-01T09:04:12.757 回答
0

你犯的一个错误是你有额外的报价

应该是这样的:

var images = ['image1.jpg', 'image2.jpg', 'image3.jpg', 'image4.jpg', 'image5.jpg'];

var current='img'+i;

我们图像的 id 是img1,img2img3. html 代码中的双引号是语法的一部分,而不是 ID。

但是在您的代码中,您将双引号添加到您尝试搜索的 id 中:

var current='"img'+i+'"';

所以你没有找到任何元素。如果你解决了这个问题,你的图像仍然会有问题。这与您使用 ID 的原因相同。(您尝试使用 src 加载图像,"image1.jpg"但您想加载image1.jpg

于 2013-02-01T09:04:27.000 回答
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);
}
于 2013-02-01T09:19:34.513 回答