【问题标题】:JavaScript - repeat function that lists 'n' amount of random numbers within a range without duplicatesJavaScript - 在一个范围内列出“n”个随机数且不重复的重复函数
【发布时间】:2014-05-14 12:48:24
【问题描述】:

我正在尝试使用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();
}

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

【问题讨论】:

    标签: javascript random repeat no-duplicates


    【解决方案1】:

    创建一个数字 1-100 的数组。然后“打乱”它们:500 次,选择 2 个数组元素并交换它们的值。最后,遍历那个打乱的数组,并显示与该数组元素的值相关联的图像。

    【讨论】:

      猜你喜欢
      • 2014-05-15
      • 1970-01-01
      • 1970-01-01
      • 2011-11-25
      • 1970-01-01
      • 2012-12-03
      • 2017-02-13
      • 2011-05-16
      • 2014-07-09
      相关资源
      最近更新 更多