所以是的,我不是很擅长这个页面。我的目标是使背景应用随机颜色。所以我把一些颜色放到一个数组中,并决定从中选择一个随机颜色。这是我的尝试,但它没有影响。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>
<body>
<script>
var r = Math.floor((Math.random()*4)+1);
var colors=["red", "blue", "green", "yellow", "pink"];
bodyObject.bgColor=colors[r].toString();
</script>
</body>
</html>
答案 0 :(得分:3)
试试这个......
<script>
window.onload = function(){
var r = Math.floor((Math.random()*4)+1);
var colors=["red", "blue", "green", "yellow", "pink"];
document.body.style.backgroundColor =colors[r];
}
</script>
答案 1 :(得分:0)
如果要将bodyObject用作变量,则需要先在代码中定义它:
var r = Math.floor((Math.random()*4)+1),
colors = ["red", "blue", "green", "yellow", "pink"],
bodyObject = document.getElementsByTagName("body")[0];
bodyObject.bgColor=colors[r]; // @Matanya to string not required http://stackoverflow.com/questions/17422215/getting-background-to-randomize-on-load#comment25303047_17422278
答案 2 :(得分:0)
我会使用这段代码,因为它对修改最有弹性;
var colors=["red", "blue", "green", "yellow", "pink"];
var r = Math.floor((Math.random()*colors.length-1)+1);
document.getElementsByTagName("body")[0].bgColor=colors[r];
请注意,我最初建议您为body标签添加一个id“bodyObject”,这实际上是您编写代码时修复代码的最简单方法,并且是您的错误的原因,但该建议是收到的很差。
但请注意,我还重新订购了几行,允许您使用长度属性,该属性对数组中的项目数量更加稳健。
您也可以从RGB的比例生成颜色,但我不确定您的效果会是什么。