Answers:
我同意以前的海报,即通过className
更漂亮的方法更改颜色。但是,我的论点是a className
可以看作是“为什么要将背景设为这种或那种颜色”的定义。
例如,将其设置为红色不仅是因为您希望将其设置为红色,还因为您希望将错误通知用户。因此,AnErrorHasOccured
在主体上设置className 是我的首选实现。
在CSS
body.AnErrorHasOccured
{
background: #f00;
}
在JavaScript中:
document.body.className = "AnErrorHasOccured";
这样,您就可以根据该样式来设置更多元素的样式了className
。因此,通过设置className
您可以赋予页面某种状态。
您可以按照以下 步骤1
var imageUrl= "URL OF THE IMAGE HERE";
var BackgroundColor="RED"; // what ever color you want
对于身体变化的背景
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方法:
如果要看到连续的颜色,请使用以下代码:
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秒,以此类推。
您可以使用以下方法更改页面背景:
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);
})
这将根据从下拉菜单中选择的用户的选择来更改背景颜色:
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>
<!DOCTYPE html>
<html>
<body>
<select name="" id="select" onClick="hello();">
<option>Select</option>
<option style="background-color: #CD5C5C;">#CD5C5C</option>
<option style="background-color: #F08080;">#F08080</option>
<option style="background-color: #FA8072;">#FA8072</option>
<option style="background-color: #E9967A;">#E9967A</option>
<option style="background-color: #FFA07A;">#FFA07A</option>
</select>
<script>
function hello(){
let d = document.getElementById("select");
let text = d.options[d.selectedIndex].value;
document.body.style.backgroundColor=text;
}
</script>
</body>
</html>
我建议以下代码:
<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>
另外,如果您希望以rgb表示法指定背景色值,请尝试
document.getElementById("yourid").style.backgroundColor = 'rgb(' + a + ',' + b + ',' + c + ')';
其中a,b,c是颜色值
例:
document.getElementById("yourid").style.backgroundColor = 'rgb(224,224,224)';
这是使用javascript更改背景的简单编码
<body onLoad="document.bgColor='red'">