gpt4 book ai didi

javascript - 从数组中提取非重复的随机图像

转载 作者:行者123 更新时间:2023-11-30 14:41:38 25 4
gpt4 key购买 nike

我已经在论坛上彻底搜索了这个问题的解决方案,但没有成功。希望有人能在这里帮助我。

我有一个没有背景图片的空 div。当用户点击它时,我有一个函数可以像这样设置背景图片:

function myAnimation(element) {

var images = ["url(images/pig.png)", "url(images/cat.png)", "url(images/frog.png)", "url(images/dog.png)"];

var random = Math.floor(Math.random() * 4);

element.style.backgroundImage = images[random];
}

虽然这可行,但我遇到的问题是找到用户再次单击图像时的解决方案。由于只生成了四个可能的数字,因此我不断从 var random 方法中得到一个重复数字。我想我需要一种方法来检查最后生成的数字,如果相同,它应该尝试生成一个不同的数字。这样就不会有重复的图像。希望这是有道理的。如您所知,我是编程新手,最近 3 个月才学习 Javascript。我想我可能需要一个循环或此函数内的另一个函数,不确定。

最佳答案

我正在用生成的随机数检查 prevNo。如果两者相同,则再次调用该函数。否则将随机数分配给 prevNo 并加载图像。

var prevNo = -1;
function myAnimation(element) {
var images = ["url(images/pig.png)", "url(images/cat.png)", "url(images/frog.png)", "url(images/dog.png)"];

var random = Math.floor(Math.random() * 4);
if( random == prevNo) {
myAnimation(element);
return;
} else {
prevNo = random;
}
element.style.backgroundImage = images[random];
}

关于javascript - 从数组中提取非重复的随机图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49562948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com