gpt4 book ai didi

javascript - (如何)我可以选择数组中的所有元素,除了由 math.random 选择的随机元素吗?

转载 作者:行者123 更新时间:2023-11-28 06:38:41 24 4
gpt4 key购买 nike

大家好,我是编程新手,这是我在 stackoverflow 上的第一篇文章,我正在开发一个涉及从数组中随机抽取卡片的小游戏。

像这样想象一个数组:

var cards = [document.getElementById("c1"),
document.getElementById("2"),
document.getElementById("3"),
document.getElementById("4"),
];

现在我有以下代码从数组中生成随机变量:

var randomNum = Math.floor((Math.random() * cards.length));

我使用:

document.getElementById(randomNum);

选择随机变量。

现在我想选择数组中的所有其他变量并为它们提供以下代码,这样屏幕上一次只会显示一张卡片:

.style.display: "none";

这可能吗?多谢!

最佳答案

您可以通过为所有卡片元素分配一个公共(public)类来做到这一点,然后将 display 样式设置为空或 none 取决于它是否匹配:

document.getElementById('btn_rnd').addEventListener('click', function () {
// get array of elements that have the "card" class:
var cards = document.querySelectorAll('.card');
// pick a random number:
var randomNum = Math.floor((Math.random() * cards.length));
// show only that card:
for (var i = 0; i < cards.length; i++) {
cards[i].style.display = (i == randomNum ? '' : 'none');
}
});
<div id="c1" class="card">card 1</div>
<div id="c2" class="card">card 2</div>
<div id="c3" class="card">card 3</div>
<div id="c4" class="card">card 4</div>
<button id="btn_rnd">pick one randomly</button>

上面的代码在按下按钮后进行随机选择。

如果您定义了一个事件处理程序,例如单击此按钮,请确保将该 javascript 放在文档末尾附近,以确保它找到该按钮(或您将事件处理程序绑定(bind)到的任何元素)。

关于javascript - (如何)我可以选择数组中的所有元素,除了由 math.random 选择的随机元素吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34474869/

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