JavaScript 数组中的随机颜色

Har*_*vey 0 html javascript arrays

我是 javascript 新手,对于这个问题的简单性提前表示歉意。

加载网页时,我希望我的 div 是数组中表示的随机颜色。

超文本标记语言

 body onload="start"()"
Run Code Online (Sandbox Code Playgroud)

JS

var color = ["red", "blue", "yellow", "green"];

function start() {

    document.getElementById("sq").style.backgroundColor =     color[Math.floor(Math.random() * color.length)];
}
Run Code Online (Sandbox Code Playgroud)

抱歉,我无法为 div 设置随机颜色。我尝试直接设置颜色,即蓝色。这奏效了。但使用数组根本不行。

所以最后,我希望每次启动网页时我的 div 都是数组中的随机颜色

der*_*sse 5

你的代码已经可以工作了。你只是搞乱了一些引言。JS 的正确 HTML 应该是这样的:

<body onload="start()">
    <div id="sq"></div>
</body>
Run Code Online (Sandbox Code Playgroud)

更好的方法是addEventListener在事件上调用 JavaScript 本身DOMContentLoaded这里有更多信息)。在这种情况下,HTML 和 JS 就被正确地分开了。

<body onload="start()">
    <div id="sq"></div>
</body>
Run Code Online (Sandbox Code Playgroud)
var color = ["red", "blue", "yellow", "green"];

// dom ready
document.addEventListener("DOMContentLoaded", function (event) {
    start()
});

function start() {
    document.getElementById("sq").style.backgroundColor = color[Math.floor(Math.random() * color.length)];
}
Run Code Online (Sandbox Code Playgroud)
#sq {
    margin: 5px;
    border: 1px solid black;
    width: 50px;
    height: 50px;
}
Run Code Online (Sandbox Code Playgroud)