簡體   English   中英

顯示來自返回JavaScript中數組的函數的圖像

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM