Я бы рекомендовал сделать это так:
container.classList.remove("one", "two", "three");
if (expression) {
container.classList.add("one");
} else if (expression) {
container.classList.add("two");
} else {
container.classList.add("three");
}
... внутри многократно используемой функции, где container
- ближайший элемент, содержащий menu
, emoji
, del
и upload
(в худшем случае это body
). Затем стилизуйте отдельные элементы с помощью CSS, например:
.one menu {
display: inline-block;
}
.two menu, .three menu {
display: none;
}
Очевидно, что вместо "one"
, "two"
и "three"
вы будете использовать имена, отражающие состояние.
В зависимости от выражений вы можете использовать этот код вместо if
/ else if
/ else
выше:
container.classList.toggle("one", expression);
container.classList.toggle("two", expression);
container.classList.toggle("three", expression);