0

我正在制作一个网站,每次您访问主页时,页面的背景颜色都会更改为 10 种颜色中的一种。每次我尝试页面下方的代码时,它都会保持白色。

<html>
<head>
<script type="text/javascript">
function rand() {
var r = Math.floor((Math.random()*10)+1);
if (r == 1) {bgcolor('#000000', 'body');}
if (r == 2) {bgcolor('#FFFFFF', 'body');}
if (r == 3) {bgcolor('#00FF00', 'body');}
if (r == 4) {bgcolor('#FF0000', 'body');}
if (r == 5) {bgcolor('#0000FF', 'body');}
if (r == 6) {bgcolor('#FFFF00', 'body');}
if (r == 7) {bgcolor('#00FFFF', 'body');}
if (r == 8) {bgcolor('#FF00FF', 'body');}
if (r == 9) {bgcolor('#C0C0C0', 'body');}
if (r == 10) {bgcolor('#700000', 'body');}
}
</script>
</head>
<body id="body" onload="rand()">
</body>
</html>
4

3 回答 3

4

因为bgcolor不存在。正确的命令如下:

if (r == 1) {document.body.style.backgroundColor = '#000000';}

或者您也可以通过它的 CSS 名称访问它:

if (r == 1) {document.body.style['background-color'] = '#000000';}

更多在这里http ://www.ezineasp.net/post/Javascript-Change-Background-Color-Style.aspx和这里JavaScript 中的 CSS 背景颜色

于 2012-06-24T22:59:09.313 回答
3

你可以这样做

var randomColors = ['#000000','#FFFFFF','#00FF00','#FF0000','#0000FF','#FFFF00','#00FFFF','#FF00FF','#C0C0C0','#700000']
var r = Math.floor((Math.random()*randomColors.length));
document.body.style.backgroundColor = randomColors[r];​

小提琴(继续按运行)

http://jsfiddle.net/keith_nicholas/ayhUM/

另外,这样,您可以继续添加颜色,或将颜色删除到数组中

于 2012-06-24T23:04:14.787 回答
1

Bgcolor 不是 javascript 函数,请尝试以下操作:

document.body.bgColor = '#000000';
于 2012-06-24T23:01:22.167 回答