Я не думаю, что это можно решить с помощью одного только CSS, так как у вас есть несколько DIV с несколькими цветами.Возможно, вы можете смоделировать это в CSS, но это, вероятно, будет не очень элегантно.Я не работал с JavaScript долгое время или вообще вообще, поэтому решение может потребовать некоторой очистки или синтаксиса, возможно, потребуется проверить, но я думаю, что у меня есть потенциальный фрейм, с которым вы могли бы работать.
Вы устанавливаете свои три цветных кнопки вверх и получаете функцию onClick (или эквивалент jQuery).
<input type="button" id="buttonRed" name="buttonRed" onclick="theSwitch('red')" />
<input type="button" id="buttonGreen" name="buttonGreen" onclick="theSwitch('green')" />
<input type="button" id="buttonBlue" name="buttonBlue" onclick="theSwitch('blue')" />
Затем для DIV вы можете поместить их в цикл (может быть, лучшее решение... как, может быть, заставить функцию заставить цикл пройти снова, чтобы он не всегда работал).
Вот функция.Конечно, перед кнопками.
function theSwitch(color) {
if (color === 'red') {
var redStatus = 0;
return redStatus;
}
}
Теоретически (поскольку я не проверяю это), мы меняем переменную на ноль, потому что мы хотим сравнить значения для div
s, которые имеют несколько цветов.Я полагаю, что именно так вы можете проверить два цвета:
if (redStatus === 0 && greenStatus === 0) {
document.getElementById("divRedGreen").style.display = "none";
}
Как вы можете видеть здесь, для того, чтобы скрыть их, необходимо нажать ОБА кнопки, что является вашим желаемым эффектом.
Вы можете сделать много-много вариаций в зависимости от того, что вы пытаетесь сделать, или от того, что наиболее организовано, но я думаю, что это может помочь в качестве свободной базы.