如何使用JavaScript更改背景颜色?
任何人都知道一个简单的方法来交换使用JavaScript的网页的背景颜色?
修改JavaScript属性document.body.style.background
。
例如:
function changeBackground(color) { document.body.style.background = color; } <BODY onload="changeBackground('red');">
注意:这取决于你的页面放在一起,例如,如果你正在使用不同背景颜色的DIV容器,你需要修改它的背景颜色,而不是文档主体。
你不需要这个AJAX,只是一些纯java脚本设置body元素的background-color属性,就像这样:
document.body.style.backgroundColor = "#AA0000";
如果你想这样做,就好像它是由服务器发起的,你将不得不轮询服务器,然后相应地改变颜色。
我同意以前的海报,通过className
改变颜色是一种更漂亮的方法。 然而,我的观点是, className
可以被看作是“为什么你想要背景是这个或那个颜色”的定义。
例如,将它变成红色不仅仅是因为你想要红色,而是因为你想告诉用户一个错误。 因此,在AnErrorHasOccured
上设置className AnErrorHasOccured
将是我的首选实现。
在CSS中
body.AnErrorHasOccured { background: #f00; }
在JavaScript中:
document.body.className = "AnErrorHasOccured";
这给你留下了根据这个className
更多元素的选项。 因此,通过设置一个className
你可以给页面一个特定的状态。
AJAX以asynchronous方式使用Javascript和XML从服务器获取数据。 除非你想从服务器下载颜色代码,这不是你真正想要的!
但除此之外,你可以用Javascript设置CSS背景。 如果你使用的是像jQuery这样的框架,它将会是这样的:
$('body').css('background', '#ccc');
否则,这应该工作:
document.body.style.background = "#ccc";
Css方法:
如果你想看到连续的颜色,使用这个代码:
body{ background-color:black; animation: image 10s infinite alternate; animation:image 10s infinite alternate; animation:image 10s infinite alternate; } @keyframes image{ 0%{ background-color:blue; } 25%/{ background-color:red; } 50%{ background-color:green; } 75%{ background-color:pink; } 100%{ background-color:yellow; } }
如果你想看更快或更慢,改变10秒到5秒等
我不会真正将其归类为“AJAX”。 无论如何,像下面的东西应该做的伎俩:
document.body.style.backgroundColor = 'pink';
你可以用下面的方法来做: 步骤1
var imageUrl= "URL OF THE IMAGE HERE"; var BackgroundColor="RED"; // what ever color you want
改变BODY的背景
document.body.style.backgroundImage=imageUrl //changing bg image document.body.style.backgroundColor=BackgroundColor //changing bg color
用ID更改元素
document.getElementById("ElementId").style.backgroundImage=imageUrl document.getElementById("ElementId").style.backgroundColor=BackgroundColor
为同一类的元素
var elements = document.getElementsByClassName("ClassName") for (var i = 0; i < elements.length; i++) { elements[i].style.background=imageUrl; }
我宁愿在这里看到使用css类。 它避免了很难阅读JavaScript中的颜色/hex代码。
document.body.className = className;
您可以通过简单地使用以下内容更改页面的背景:
document.body.style.background = #000000; //I used black as color code
但是下面的脚本会使用setTimeout()函数每3秒钟更改页面的背景:
$(function() { var colors = ["#0099cc","#c0c0c0","#587b2e","#990000","#000000","#1C8200","#987baa","#981890","#AA8971","#1987FC","#99081E"]; setInterval(function() { var bodybgarrayno = Math.floor(Math.random() * colors.length); var selectedcolor = colors[bodybgarrayno]; $("body").css("background",selectedcolor); }, 3000); })
阅读更多
DEMO
这将根据从下拉菜单中select的用户的select更改背景颜色:
function changeBG() { var selectedBGColor = document.getElementById("bgchoice").value; document.body.style.backgroundColor = selectedBGColor; }
<select id="bgchoice" onchange="changeBG()"> <option></option> <option value="red">Red</option> <option value="ivory">Ivory</option> <option value="pink">Pink</option> </select>
将这个脚本元素添加到你的body元素中:
<body> <script type="text/javascript"> document.body.style.backgroundColor = "#AAAAAA"; </script> </body>
但是,您希望在<body>
元素存在之前configuration主体颜色。 这样,它就具有了正确的颜色。
<script> var myColor = "#AAAAAA"; document.write('\ <style>\ body{\ background-color: '+myColor+';\ }\ </style>\ '); </script>
这可以放在文档的<head>
或者你的js文件中。
这是一个很好玩的颜色。
var myColor = '#'+(Math.random()*0xFFFFFF<<0).toString(16);
我会build议下面的代码:
<div id="example" onClick="colorize()">Click on this text to change the background color</div> <script type='text/javascript'> function colorize() { var element = document.getElementById("example"); element.style.backgroundColor='#800'; element.style.color='white'; element.style.textAlign='center'; } </script>
这是使用javascript更改背景的简单编码
<body onLoad="document.bgColor='red'">