【问题标题】:Why does setInterval only seem to work once in the DOM?为什么 setInterval 似乎只在 DOM 中起作用一次?
【发布时间】:2022-11-30 13:12:52
【问题描述】:

我正在尝试使用 setInterval 方法,我只是想知道我在这里做错了什么。如果我将它编程为返回警报,没问题 - 它会按预期在每个时间间隔出现。但是,我希望我的背景颜色每隔几秒改变一次,但它没有发生。颜色改变一次,这就是我得到的所有乐趣。

我看过 Stack Overflow 上的类似帖子并四处游玩,但无济于事。非常感谢任何建议。感谢万!

【问题讨论】:

  • 请发布真实代码,而不是代码的图像。关于你的问题,问题是随机数只被选择了一次,因此choice1总是相同的颜色。将随机选择移动到changeColor 内。

标签: javascript dom settimeout setinterval


【解决方案1】:

setInterval 函数实际上每 2 秒运行一次,但 choice1 变量它被随机化一次。您必须在 setInverval 回调内部为 choice1 生成新值才能获得所需的结果。 一个例子:

function changeColor() {
   choice1 = /*Your random function here*/
   document.body.style.backgroundColor = choice1;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-20
    • 2012-05-09
    相关资源
    最近更新 更多