JavaScript - 重复列出' n'在没有重复的范围内的随机数量

时间:2014-04-02 23:19:58

标签: javascript random repeat no-duplicates

我正在尝试使用this创建动画响应式图像网格。

在它的源代码中,您可以看到这些图像的代码是单独物理输入的,而不是使用一个重复它的函数n次。如果你要列出很多照片,那就很难重复了。

因此,我创建了这个函数:

function showImg() {
  for (var imgNum = 1; imgNum < 100; imgNum++) {
    document.write("<li><a href='#'><img src='img/" +imgNum+ ".jpg'/></a></li>");
  }
}

showImg();

此功能很好,但是,每次刷新页面时,它都会以相同的顺序从相同的图像开始。我不希望这样。我希望他们每次刷新页面时都以随机图像开始。所以我为此创建了一个新代码:

function showImg() {
  var imgNum = Math.floor((n+1)*Math.random());
  document.write("<li><a href='#'><img src='img/" +imgNum+ ".jpg'/></a></li>");
}

var n = 100;

for (var i=0; i<n; i++) {
  showImg();
}

大!现在,一个新问题是有时候会有重复。我不想要重复,不是在加载第一组图像时,而是在图像开始旋转/循环动画时。我该如何实现这一目标?感谢。

1 个答案:

答案 0 :(得分:0)

创建数字1-100的数组。然后&#34;争抢&#34;它们:500次,选择2个数组元素并交换它们的值。最后,循环遍历该乱序数组,并显示与该数组元素的值相关联的图像。