我想获得一个类的元素集合。然后,我希望遍历集合中的每个元素以添加一个类。
但是,我希望它向集合中的第一个添加一个类,然后等待5秒钟,然后再向集合中的第二个添加一个类。等等...
<script type="text/javascript">
window.onload = function(){
var boxs = document.getElementsByClassName("paragraph");
for(let i = 0; i < boxs.length; i++){
setTimeout(function () {
boxs[i].classList.add("type");
},5000);
}
}
</script>
最佳答案
您可以使用i
变量来计算setTimeout
的适当延迟(5s之后的第一次执行,10s之后的第二次执行,等等):
for(let i = 0; i < boxs.length; i++){
setTimeout(function () {
boxs[i].classList.add("type");
}, (i + 1) * 5000);
}
调用
setTimeout
时,您只是在设置计时器以执行回调。因此,您需要为每个呼叫计算适当的延迟。