如何在页面刷新时使 div 的背景颜色随机更改



这是我的第一个问题,如果我做错了什么,请原谅。我正在做一个网站的布局,我希望头部改变颜色随机,当用户刷新页面。我已经做了一些研究,得到了这些javascript代码:

<script type="text/javascript">     
        var randnum = Math.random();
        var inum = 2;
        var rand1 = Math.round(randnum * (inum-1)) + 1;
        var colors = new Array;
        colors[1] = "#385c78";
        colors[2] ="#9d302f";
        var color = colors[rand1]
        document.getElementById('navbar').style.backgroundColor = image;    
    </script>

这个放在head标签内。它在我想要的两个代码之间随机选择一个十六进制代码,并将其存储在var color中。

我用的第二个在正文上。

<script type="text/javascript">
        //writes "<div id="header" style="background-color:#something">"
        document.write('<div id="header" style="background-color:' + color + '">')
    </script>
        <!-- continuation of div id="navbar" -->
                    *Header code here*
    </div>

问题是,这样做是给我一些麻烦,因为div id="header"是写在javascript内。我不能正确地包装其他div和Google Chrome的inspect元素告诉我,正文大小是1333px x 80px(因为它可以在这里看到http://puu.sh/2yjKi),确切地说,只有标题大小,它不包装网站内容的其余部分。所以我的问题是:有没有办法改进这些代码?通过javascript之类的改变div的背景颜色?

提前感谢大家的阅读和帮助。

虽然这篇文章有点老了,但我的回答可能会帮助到其他像我一样来到这里的人!演示HTML:

<div style="height:150px">
  <div>
    <h1><center>That's how i change color!!</center></h1>
  </div>
  <br><br>
  <div  class="bordered" id="fancy">
    <center>I behave like a chameleon!!</center>
  </div>
</div>

JS:

setInterval(function () { 
  document.getElementById("fancy").style.background= '#'+Math.floor(Math.random()*16777215).toString(16);
  document.body.style.background= '#'+Math.floor(Math.random()*16777215).toString(16);  
}, 1000);

希望这能帮助到别人!!

将标题输出为正常的HTML,然后使用JavaScript更新onDomReady的颜色。像这样:

$(document).ready(function() {
    var colors = ["#385c78", "#9d302f"],
    selectedColor = colors[Math.floor(Math.random()*colors.length)]
    header = $("div#header");
    header.css("background-color", selectedColor);
});
http://jsfiddle.net/ryanbrill/GD3qB/

function changecolor() {
    var colors = ["#B40404", "#0000FF", "#FE2E9A", "#FF0080", "#2EFE2E", ];
    var rand = Math.floor(Math.random() * colors.length);
    $('#controls-wrapper').css("background-color", colors[rand]);
    setTimeout('changecolor()', 1000);
}

最新更新