在javascript中显示数组中的随机图像

在javascript中显示数组中的随机图像,javascript,html,Javascript,Html,我想从imgaray中选择随机图像,同时打印16张不同的图像,但无法填充imgRandom函数 img = new imgArray(7); img[0]='1.png'; img[1]='2.png'; img[2]='3.png'; img[3]='4.png'; img[4]='5.png'; img[5]='6.png'; img[6]='7.png'; img[7]='8.png'; var rand=imgArray[math.floor(math.random*imgArray.

我想从imgaray中选择随机图像,同时打印16张不同的图像,但无法填充imgRandom函数

img = new imgArray(7);
img[0]='1.png';
img[1]='2.png';
img[2]='3.png';
img[3]='4.png';
img[4]='5.png';
img[5]='6.png';
img[6]='7.png';
img[7]='8.png';

var rand=imgArray[math.floor(math.random*imgArray.length)];

function imgRandom(){

}
试试这个功能

function getRandomImage(imgAr, path) {
    path = path || 'images/'; // default path here
    var num = Math.floor( Math.random() * imgAr.length );
    var img = imgAr[ num ];
    var imgStr = '<img src="' + path + img + '" alt = "">';
    document.write(imgStr); document.close();
}

请参阅。每次刷新时,您都会看到图像中的更改使用以下代码:

var imgArray = ['1.png', '2.png', '3.png', '4.png', '5.png', '6.png', '7.png', '8.png'];
var basePath="YOUR_FOLDER_PATH_HERE";

function imgRandom() {
    for (var i = 0; i < 18; i++) {
        var rand = imgArray[Math.floor(Math.random() * imgArray.length)];
        var image = new Image();
        image.src = basePath+rand;
        document.body.appendChild(image);
    }
}
var imgArray=['1.png','2.png','3.png','4.png','5.png','6.png','7.png','8.png'];
var basePath=“您的文件夹路径”;
函数imgRandom(){
对于(变量i=0;i<18;i++){
var rand=imgArray[Math.floor(Math.random()*imgArray.length)];
var image=新图像();
image.src=basePath+rand;
document.body.appendChild(图像);
}
}

|

我想指出您的代码中有一些东西

  • 默认情况下javascript中没有
    imgArray
    (可能是您的构造函数)
  • 您需要一个
    数组

  • Javascript区分大小写,js中的
    Math
    对象的大写字母为M

    • math
      ->
      math
  • 必须调用
    Math
    对象的
    random
    属性以返回随机数
    • random
      ->
      random()
    • Math.random()
但是你的问题

  • 函数采用参数,因此可以对一组图像采用一个参数

    函数(imgArr){…

    这样,您就可以通过
    imgArr

  • 函数可以返回值,所以我们可以继续

    功能(imgArr){ 返回imgArr[Math.floor(Math.random()*imgArr.length)] }

  • 你不必“调暗”数组,预先定义你要放入的元素,你只需要做一些事情,比如

    var imgArr=[“img01.png”、“img02.png”、…]

    var-arr=[]
    将等于
    var-arr=new Array()

  • 所以用数组调用这个函数看起来像



  • 阵列中只有8个元素,如何显示16个图像?同一图像可以随机显示两次,如果相同的两个图像并排显示,效果会好吗?只是我的想法…非常感谢您的解释
    var imgArray = ['1.png', '2.png', '3.png', '4.png', '5.png', '6.png', '7.png', '8.png'];
    var basePath="YOUR_FOLDER_PATH_HERE";
    
    function imgRandom() {
        for (var i = 0; i < 18; i++) {
            var rand = imgArray[Math.floor(Math.random() * imgArray.length)];
            var image = new Image();
            image.src = basePath+rand;
            document.body.appendChild(image);
        }
    }
    
      var img = ["1.png", "2.png", "3.png", "4.png", "5.png", "6.png", "7.png", "8.png"]
         function imgRandom(imgArr) {
            return imgArr[Math.floor(Math.random() * imgArr.length)];
        }
     console.log(imgRandom(img));