如何使document.bgcolor工作?

时间:2013-11-01 10:40:50

标签: javascript

以下是我尝试的代码

我想要的是3秒后文档bgcolor要更改

我使用了document.bgcolor并且无效,因为它始终返回black

 var A = new Array("0", "1", "2");
    var B = 0;
    var C = 3;

    function D() {

        if (document.images) {
            B++;
            if (B == C) {

                B = 0;
            }
            document.bgColor = A[B];
            setTimeout("D()", 3 * 1000);
        }
    }


    window.onload = function () {

        D();
    }

6 个答案:

答案 0 :(得分:2)

您需要一种以"#"开头的颜色。例如"#123456"或"#123"。据我所知,你只需将颜色设置为" 1"," 2"或" 3"。

答案 1 :(得分:2)

而不是:

var A = new Array("0", "1", "2");

试试这个:

var A = new Array("black", "white", "blue");

演示:http://jsfiddle.net/gSCEc/

答案 2 :(得分:0)

你可以替换

document.bgColor = A[B];

document.body.style.backgroundColor = A[B];

答案 3 :(得分:0)

最好使用:

document.body.style.backgroundColor

答案 4 :(得分:0)

设置背景颜色的适当方法是:

document.body.style.backgroundColor = somecolour;

document.bgColor自HTML 3.2以来就没有出现过。

请注意,颜色必须是有效的CSS颜色。这意味着它可以是:

  • #RRGGBB格式的24位颜色,每个字母代表一个十六进制数字,
  • #RGB格式的12位颜色,每个字母代表一个十六进制数字,
  • rgb( R, G, B)形式的24位颜色,这次每个字母代表0到255之间的数字,
  • 形式为rgba( R, G, B, A)的32位颜色,其中R,G,B代表0到255之间的数字,A是0(透明)和1(不透明)之间的十进制数。
  • 颜色名称。有关完整列表,请参阅this page

因此,您的字符串"0""1""2"将无效。

尝试这样的事情:

(function() {
    var colours = ["#ff8080","#80ff80","#8080ff"],
        colcount = colours.length, // cache for efficiency reasons
        currentcolour = 0; // adjust if you want to start at a different one
    document.body.style.backgroundColor = colours[currentcolour];
    setInterval(function() {
        currentcolour = (currentcolour+1) % colcount;
        document.body.style.backgroundColor = colours[currentcolour];
    },3000);
})();

答案 5 :(得分:0)

您是否尝试过使用javascript和十六进制颜色代码?一个非常好的网站,可以直观地看到十六进制转换为颜色的方法是Rapidtables.com

<html>
<head><head/>
<body>
  <script language="javascript">
    document.bgColor='#2a2a2a';
  </script>
</body>
</html>