Этот код в настоящее время работает, и при нажатии каждого элемента div цвет фона и размер шрифта изменятся.Кроме того, форматирование для одного из двух других div, которые уже были нажаты, будет удалено.Проблема в том, что это потребует большого количества кода, что, я думаю, намного больше, чем нужно.Мне интересно, как повторить меньше.В этом примере это не такая уж большая проблема, только с тремя делами, но моему реальному проекту понадобится много, много больше.
Я попытался включить несколько делений, чтобы это выглядело так:
document.querySelector(".div2, .div1").classList.remove("styles");
, но, похоже, это не сработало.
const div1 = document.querySelector(".div1");
const div2 = document.querySelector(".div2");
const div3 = document.querySelector(".div3");
function makeBigDiv1 () {
document.querySelector(".div1").classList.add("styles");
document.querySelector(".div2").classList.remove("styles");
document.querySelector(".div3").classList.remove("styles");
}
div1.addEventListener("click", makeBigDiv1);
function makeBigDiv2 () {
document.querySelector(".div2").classList.add("styles");
document.querySelector(".div1").classList.remove("styles");
document.querySelector(".div3").classList.remove("styles");
}
div2.addEventListener("click", makeBigDiv2);
function makeBigDiv3 () {
document.querySelector(".div3").classList.add("styles");
document.querySelector(".div1").classList.remove("styles");
document.querySelector(".div2").classList.remove("styles");
}
div3.addEventListener("click", makeBigDiv3);
.div1 {
width:500px;
height:100px;
border: 2px solid black;
}
.div2 {
width:500px;
height:100px;
border: 2px solid black;
}
.div3 {
width:500px;
height:100px;
border: 2px solid black;
}
.styles {
font-size: 50px;
background-color: grey;
}
<div class="div1">One</div>
<div class="div2">Two</div>
<div class="div3">Three</div>
Хорошо, как я уже упоминал, код работает, но я бы просто стал слишком многословным, если чувствую его применение к большому проекту.Я относительно новичок в этом и хочу написать СУХОЙ - не повторяй себя - код.Спасибо!