我正在尝试使用 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-100 数字的数组。然后“打乱”它们:500 次,选择 2 个数组元素并交换它们的值。最后,循环访问该乱序数组,并显示与该数组元素的值关联的图像。
关于JavaScript - 重复函数,列出一定范围内的 'n' 个随机数,不重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22824960/