【问题标题】:Choosing Images randomly from an array从数组中随机选择图像
【发布时间】:2013-03-27 00:20:59
【问题描述】:

我在目录中有图像,我正在尝试使用 jQuery 将它们随机分配给列表项。我有它的工作,但如果它们已经被使用,我不想重复图像。这是我的jQuery:

var images = ['1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg', '6.jpg', '7.jpg', '8.jpg', '9.jpg', '10.jpg'];

$("#collageWrap li").each(function() {
    $('<img src="images/mosaic/' + images[Math.floor(Math.random() * images.length)] + '">').appendTo($(this));
});

如果我有 10 个图像和 20 个列表项,则想法是在前 10 个列表项上使用 10 个图像,然后将其余的留空。如何更改此代码以确保每张图片仅使用一次?

【问题讨论】:

    标签: javascript jquery math random


    【解决方案1】:

    一种解决方案是在随机拍摄图像时从源数组中删除:

    $("#collageWrap li").each(function() {
        var index = Math.floor(Math.random()*images.length);
        var img = images.splice(index, 1)[0];
        $('<img src="images/mosaic/' + img + '">').appendTo($(this));
        return images.length>0;
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-05
      • 1970-01-01
      • 2018-09-11
      • 1970-01-01
      • 2020-04-18
      • 1970-01-01
      • 2017-09-16
      相关资源
      最近更新 更多