Javascript:如何随机改变背景?

标签 javascript random colors

我找不到这段代码的问题出在哪里:

<script>
    var colori = ['ffffff', 'ffbf00', 'ff4000', '4d79ff', '00c0ff', '00ff3f', 'ff7a4d', '00ff40', 'bf00ff', 'ff0040', 'ffd34d', 'a52a2a', 'bf00ff', '47adcf', '2a82a0' ];
    var i;

    function CambiaColore(){
        i = Math.floor(Math.random() * colori.length);
        var colore = '#'+colori[i];
        document.body.style.background=colore;
        setTimeout(CambiaColore(),2000);
    };

    CambiaColore();
</script>   

有人可以解释一下我出了什么问题吗?

最佳答案

setTimeout(CambiaColore(),2000); 错误

setTimeout(CambiaColore, 2000);

说明:

SetTimeout 的第一个参数应该是函数。你明白了。但是函数名后面的括号意味着它的执行(我的英语不好,是的)。因此,在你的情况下,涉及到递归,仅此而已。最大堆栈调用,错误..所以据我了解,您不需要在那里执行 func 但推迟其执行。我在上面展示了执行此操作的正确方法。

关于Javascript:如何随机改变背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25714429/

相关文章:

javascript - 无法在 componentDidMount 内设置状态

javascript - 仅当满足 php 条件时才运行 javascript

python - random.choice 被字典破坏了

JAVA随机参数总是返回0

javascript - 从 RGB 转换为 L*ab 颜色时值不准确

javascript - 响应式模板数据改变 DOM 后 Meteor 调用 JS

javascript - 如果验证没有问题,请打开新窗口

java - 洗牌 map 中的数字并选择一个。

colors - 使用 gnuplot 将箱线图中的框背景设置为特定颜色

javascript - 使用变量更改 ListView 的背景颜色