[英]displaying images from a function that returns an array in javascript
我有一個函數,可以隨機化圖像數組,並在顯示隨機圖像后返回帶有隨機圖像的數組。
<script type = "text/javascript">
var images = new Array('0.jpg', '1.jpg' , '2.jpg'), result=[] ;
Array.prototype.random = function () {
var that = this.slice();
var length=images.length;
var rand;
for(i=0; i<=4;i++)
{
rand=Math.floor(Math.random()*(length));
result.push(images[rand]);
}
return result;
}
//document.write(images.random());
當我這樣做時,我得到了帶有圖像的數組,但是我想使用諸如document.write('<img src="images/'+images.random()+'" width = \\"\\" height = \\"\\"/>');
\\但是那不起作用..任何想法
每當您執行document.write
時, 您的問題都會消除所有DOM。 更好的解決方案是使用document.createElement
創建圖像,然后將其附加到正文或所需的任何其他容器中。
首先讓您的代碼清晰明了,創建一個像這樣的函數:
function createImage(imgname){
var img = document.createElement("img");
img.src = "images/" + imgname;
return img;
}
然后這樣做:
images.random().forEach(function(imgname){
document.body.appendChild(createImage(imgname));
});
我使用了一些人提供的幫助,這就是我得到的。 因此,此代碼獲取了一組圖像,將它們隨機化,然后顯示出來
<script type="text/javascript">
var images=new Array('g.jpg','f.jpg','f.jpg')
var re=[];
var length=images.length;
var entered=document.getElementById('images');
for(var f=0; f<4; f++){
var ran=Math.floor(Math.random()*(length));
var imge=document.createElement("img";
image.src="images/" + images[ran];
entered.appendchild(image);
</script)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.