У меня есть div, который мне нужен, чтобы изменить цвет на основе JavaScript-оператора if. Проверка выполняется нажатием зеленой рамки и, если фон установлен на зеленый, поле должно смениться на черный фон.
Внимание! Я не хочу использовать другое решение. Я просто ищу понимание, почему это конкретное решение не работает.
Если вы активируете функцию с наименьшим положением, которая работает без нажатия кнопки, вам нужно деактивировать первую функцию.
function changeColorOnReloadIfGreen() {
var x = document.getElementById('box-1');
if (x.style.backgroundColor == 'green') {
x.style.backgroundColor = 'black';
}
}
/*********************************************************/
/*
Just for reference, activating below
that changes box-1 to black works (without if-statement).
*/
/*********************************************************/
/*
var x = document.getElementById('box-1')
x.style.backgroundColor = 'black';
*/
.box-1 {
background-color: green;
width: 100px;
height: 100px;
margin: 30px 0px 0px 30px;
}
<div id="box-1" class="box-1" onclick="changeColorOnReloadIfGreen()"></div>