我的运动有点困难。我知道有很多关于这个错误的问题,但我找不到答案。希望你能帮忙!
这是我的代码:
let mijnDivs = document.querySelectorAll('div')
let i = 0;
let woorden = ["kip", "konijn", "paard", "varken", "gerbil", "hamster",
"rat", "zeeduivel", "narwal", "orka"
];
while (i < mijnDivs.length) {
i++;
}
setInterval(() => {
twoSec();
}, 2000);
function randomNumber(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function twoSec(woorden) {
let randomWords = this.classList.add(woorden[randomNumber(0, 9)])
}
首先,woorden
是一个全局变量,你不应该将它指定为twoSec
函数的参数。
其次,你应该在mijnDivs
中遍历DIV,并在那里设置类列表。
function twoSec() {
for (let i = 0; i < mijnDivs.length; i++) {
mijnDivs[i].classList.add(woorden[randomNumber(0, 9)]);
}
}
示例代码有效,但根据您的初始代码,只有最后一个div
附加了类名
在set timeout中更改函数调用twoSec(woorden,mijnDivs[i-1]);
并将twoSec函数更改为
function twoSec(woorden,divlist) {
let randomWords = divlist.classList.add(woorden[randomNumber(0,9)])
}