Как изменить цвет фона с помощью JavaScript?
кто-нибудь знает простой способ поменять цвет фона веб-страницы с помощью JavaScript?
16 ответов
изменить свойство JavaScript document.body.style.background
.
например:
function changeBackground(color) {
document.body.style.background = color;
}
<BODY onload="changeBackground('red');">
Примечание: это немного зависит от того, как ваша страница собрана, например, если вы используете контейнер DIV с другим цветом фона, вам нужно будет изменить цвет фона этого вместо тела документа.
для этого вам не нужен AJAX, просто какой-то простой Java-скрипт, устанавливающий свойство background-color элемента body, например:
document.body.style.backgroundColor = "#AA0000";
Если вы хотите сделать это так, как если бы это было инициировано сервером, вам нужно будет опросить сервер, а затем изменить цвет соответственно.
Я согласен с предыдущим плакатом, который меняет цвет на className
это более красивый подход. Однако мой аргумент заключается в том, что className
можно рассматривать как определение " почему вы хотите, чтобы фон был того или иного цвета."
например, сделать его красным не только потому, что вы хотите, чтобы он был красным, но и потому, что вы хотите сообщить пользователям об ошибке. Таким образом, установка className AnErrorHasOccured
на теле было бы моей предпочтительной реализацией.
In в CSS
body.AnErrorHasOccured
{
background: #f00;
}
В JavaScript:
document.body.className = "AnErrorHasOccured";
это оставляет вам варианты укладки больше элементов в соответствии с этим className
. И как таковой, установив className
вы как бы даете странице определенное состояние.
AJAX получает данные с сервера, используя Javascript и XML в асинхронном режиме. Если вы не хотите загружать цветовой код с сервера, это не то, к чему вы действительно стремитесь!
но в противном случае вы можете установить фон CSS с помощью Javascript. Если вы используете фреймворк типа jQuery, это будет что-то вроде этого:
$('body').css('background', '#ccc');
в противном случае, это должно работать:
document.body.style.background = "#ccc";
вы можете сделать это следующими способами Шаг 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;
}
Я бы не стал классифицировать это как "AJAX". Во всяком случае, что-то вроде следующего должно сделать трюк:
document.body.style.backgroundColor = 'pink';
подход 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
однако приведенный ниже скрипт изменит фон страницы через каждые 3 секунды с помощью функции setTimeout ():
$(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);
})
Я бы предпочел увидеть использование класса css здесь. Это позволяет избежать сложного чтения цветов / шестнадцатеричных кодов в javascript.
document.body.className = className;
это изменит цвет фона в соответствии с выбором пользователя, выбранного из выпадающего меню:
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>
<p>Hello, World!</p>
<script type="text/javascript">
document.body.style.backgroundColor = "#ff0000"; // red
</script>
</body>
но вы хотели бы настроить цвет тела перед <body>
элемент существует. Таким образом, он имеет правильный цвет с самого начала.
<script>
var myColor = "#AAAAAA";
document.write('\
<style>\
body{\
background-color: '+myColor+';\
}\
</style>\
');
</script>
Это вы можете положить в <head>
документа или в вашем js-файле.
вот хороший цвет, чтобы играть.
var myColor = '#'+(Math.random()*0xFFFFFF<<0).toString(16);
Я бы предложил следующий код:
<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>
Если вы хотите использовать кнопку или другое событие, просто используйте это в JS:
document.querySelector("button").addEventListener("click", function() {
document.body.style.backgroundColor = "red";
});
вы можете изменить фон страницы с помощью:
function changeBodyBg(color){
document.body.style.background = color;
}
Читать далее @ изменение цвета фона
Это простое кодирование для изменения фона с помощью javascript
<body onLoad="document.bgColor='red'">