0

以下是我尝试过的代码

我想要的是在 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();
    }
4

6 回答 6

2

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

于 2013-11-01T10:46:43.057 回答
2

而不是这些:

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

尝试这个:

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

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

于 2013-11-01T10:55:06.037 回答
0

更好地使用:

document.body.style.backgroundColor
于 2013-11-01T10:50:19.207 回答
0

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

document.body.style.backgroundColor = somecolour;

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

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

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

因此,您的字符串"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);
})();
于 2013-11-01T10:53:47.830 回答
0

你可以更换

document.bgColor = A[B];

document.body.style.backgroundColor = A[B];
于 2013-11-01T10:47:20.780 回答
0

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

<html>
<head><head/>
<body>
  <script language="javascript">
    document.bgColor='#2a2a2a';
  </script>
</body>
</html>
于 2019-11-24T01:31:06.293 回答