如何为 setInterval 创建动态变量?

How to create dynamically variable for setInterval?

我创建了一个带有 node 和 ejs 的 hmtl 页面,其中包含不可预见的元素数量。我想为某些 none 或所有这些元素创建一个 setInterval,具体取决于用户在做什么。

问题是,我无法为 setInterval 创建一个动态变量,以便稍后可以取消这些间隔。

也许我只需要另一种更简单的方法,但目前我被困在这里。

camContainer.forEach(element => {
        clearInterval(intervalVar);
        if (!element.classList.contains("hidden")) {
            countVisible++;
            intervalVar = setInterval(showConsole, 1500);
        } else {
            countHidden ++;
        }
    count++;    
    })

我用数组而不是常规变量尝试过,但也没有用

intervalVar[count] = setInterval(showConsole, 1500);

你在数组的正确轨道上,但你需要将项目推到它上面:

intervalVar = []

// ...

intervalVar.push(setInterval(showConsole, 1500))

当您要取消间隔时,使用 slicepop 将其从数组中删除,具体取决于您选择要取消的项目的方式。