获取背景随机加载?

时间:2013-07-02 09:38:57

标签: javascript html

所以是的,我不是很擅长这个页面。我的目标是使背景应用随机颜色。所以我把一些颜色放到一个数组中,并决定从中选择一个随机颜色。这是我的尝试,但它没有影响。

<!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>

3 个答案:

答案 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的比例生成颜色,但我不确定您的效果会是什么。