我有一个代码可以通过 id 随机显示三个元素而不重复通常有效。当前代码显示从 54 张卡片/html 元素中选择的三张扑克牌。目前它大部分时间都能正常工作,但有时它只返回两张牌,很少只返回一张。我想通过总是返回三张来改进它。我将如何修改下面的代码来做到这一点?
此外,如果我按下随机显示三个元素/卡片的按钮两次或更多次,它会在每次后续单击时不断添加三张卡片,直到非常多的显示和卡片用完为止。我将如何修改下面的代码以重做该功能(在其位置随机显示另一组三张卡片,并在第一次单击时隐藏前三张卡片)。
我想保留当前代码按 id 选择元素的功能,因为它可以用于生成除扑克牌之外的其他多个元素。
CSS设置为:
.cards {
display: none;
}
代码是:
var myarray = [
"#card1","#card2","#card3","#card4","#card5","#card6","#card7"...];
var numberOfCards = 3;
function getRandom() {
for (var i = 1; i <= numberOfCards; i++) {
var randomIndex = RandomDiv();
$('.cards:eq('+randomIndex+')').fadeIn(900).css('display', 'inline-block');
myarray.splice(randomIndex, 1);
}
}
$('.btn').on('click', function() {
getRandom();
});
function RandomDiv() {
return Math.floor(Math.random() * myarray.length);
};
谢谢!