【发布时间】:2021-07-13 10:02:40
【问题描述】:
我想创建一个每秒添加一个类的函数,但 5 秒后该函数将结束。这个函数应该为五个灯之一添加一个活动类。
我现在的代码是这样的:
const lights = document.querySelectorAll('.light');
let active = true;
const headFunction = () => {
lightsFunction();
}
const lightsFunction = () => {
if (active) {
for (let i = 0; i < lights.length; i++) {
lights[i].classList.add('on');
}
} else {
for (let i = 0; i < lights.length; i++) {
lights[i].classList.remove('on');
}
}
}
headFunction();
我还想问一件事。如何让计时功能只有在开灯完成后才运行?也就是说,灯熄灭,然后才开始计数。
【问题讨论】:
-
您有 5 盏灯 - 据我了解,第一盏灯应该亮一秒钟然后关闭,然后第二盏灯应该亮一秒钟,依此类推。它是否正确?如果是这样,可能有一种更简单的方法可以在没有 JS 的情况下做到这一点。你能告诉我们你的 CSS 吗?
-
第一秒过去了,第一盏灯亮并一直亮着,然后再过一秒,下一个灯亮。当最后一盏灯亮起时,它们全部熄灭,时间开始倒计时。
标签: javascript html class settimeout setinterval