我对javascript有疑问。我的问题是我有9个div容器和一个数字从1到9的selector()。我想要的是一个选择数量的函数,它在选择器中选择,并隐藏div的数量。能见度选项。该函数应该真的应该隐藏选择器的数量而不是该函数隐藏相同随机div的两倍。 div在一个类中,并具有id1,id2和id3等id。
希望你能理解任何事情,因为我的英语真的很糟糕。
由于 尼古拉斯
答案 0 :(得分:0)
您的代码中存在一些错误:
if (zahl[y].style.visibility = 'hidden') {
您需要document.getElementById(zahl[y])
而非zahl[y]
,并且您需要使用==
来比较值而不是=
。此外,您将可见性设置为隐藏然后检查它是否被隐藏,当您想要以相反的方式进行时。和,
i - 1;
应为i--;
。如果您修复这些问题,则代码将起作用shown here。
然而,一些进一步的改进也是可能的 - 当你可以使用getElementsByClassName
时,无需定义所有索引。
function hide(anzahl) {
var cubes = document.getElementsByClassName('cube');
for (var i = 0; i < cubes.length; i++) {
cubes[i].style.visibility = '';
}
for (var i = 0; i < anzahl;) {
var y = Math.floor(Math.random() * 9);
if (cubes[y].style.visibility == '') {
cubes[y].style.visibility = 'hidden';
i++;
}
}
}