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

时间:2013-04-11 23:08:52

标签: javascript html css header background-color

这是我的第一个问题,如果我做错了,请原谅。 我正在做一个网站的布局,我希望标题在用户刷新页面时随机改变颜色。我已经做了一些研究并得到了这些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>

这个进入头标记。它在我想要的两个代码之间选择一个随机的十六进制代码并将其存储在var颜色上。

我正在使用的第二个身体。

<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并且谷歌Chrome的inspect元素告诉我,身体大小是1333px x 80px(在这里可以看到http://puu.sh/2yjKi),正好而且只有标题大小,并且它没有包装其余的网站内容。 所以我的问题是:有没有办法改进代码?通过javascript或类似的东西来改变div的背景颜色?

我提前感谢大家阅读并感谢你的帮助。

3 个答案:

答案 0 :(得分:4)

虽然帖子有点旧,但我的答案可能会帮助那些像我一样降落在这里的人! DEMO 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);

希望这会对某人有所帮助!!

答案 1 :(得分:1)

将标头输出为普通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/

答案 2 :(得分:0)

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);
}