gpt4 book ai didi

javascript - 使用 for 循环变量更改 html 类的名称

转载 作者:行者123 更新时间:2023-11-28 01:38:29 26 4
gpt4 key购买 nike

我有几个 html 类在类名中递增,例如:

<div class="chicken1">
<b></b>
</div>
<div class="chicken2">
<b></b>
</div>
<div class="chicken3">
<b></b>
</div>

我正在尝试编写一个 for 循环,它将遍历这些类名,将索引添加到每个类名的末尾,然后在 2 秒延迟内调用一个函数。

for ( var i = 1; i <= 3; i++ ) {
setTimeout(function() {
myFunction(".chicken" + i + " b");
}, 2000 * i);
}

但是这不起作用。

Fiddle

最佳答案

问题实际上是在循环中调用的setTimeout();要正确执行此操作,您必须关闭循环变量:

for (var i = 1; i <= 6; ++i) {
setTimeout((function(i) {
return function() {
myFunction(".chicken" + i + " i");
};
})(i), i * 2000);
}

Demo

它使用一个立即调用的函数,传递i的值;此值一直保留到 setTimeout() 被触发。

关于javascript - 使用 for 循环变量更改 html 类的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27244704/

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