Здравствуйте. Есть небольшие одинаковые квадраты. Нужно по щелчку на любой из них выделить такие же самые элементы только рядом стоящие. Я реализовала это, но как мне кажется слишком легко потому что очень много кода. Как вы считаете как нужно было сделать поиск этих одинаковых рядом элементов? Ниже код:
<div id="blockcolor">
<div id="first">✫</div>
<div id="first">✫</div>
<div id="second">❄</div>
<div id="second">❄</div>
<div id="second">❄</div>
<div id="third">✫</div>
<div id="third">✫</div>
<div id="four">❄</div>
<div id="four">❄</div>
<div id="fife">✫</div>
<div id="fife">✫</div>
<div id="fife">✫</div>
<div id="six">❄</div>
</div>
#first, #second, #third, #four, #fife, #six{
width: 40px;
height: 40px;
border: 1px solid black;
}
#first, #third, #fife{
background: yellow;
}
#second, #four, #six{
background: pink
}
window.onload = function() {
var blockcolor = document.getElementById('blockcolor');
var picFirst = document.querySelectorAll('#first');
var picSecond = document.querySelectorAll('#second');
var picThird = document.querySelectorAll('#third');
var picFour = document.querySelectorAll('#four');
var picFife = document.querySelectorAll('#fife');
var picSix = document.querySelectorAll('#six');
Array.from(blockcolor.querySelectorAll('#first')).forEach(function(e){
e.addEventListener('click', function(){
for (var i = 0; i < picFirst.length; i++) {
picFirst[i].style.borderRadius = '50px';
picFirst[i].style.transition = 'all 2s ease';
}
})
})
Array.from(blockcolor.querySelectorAll('#second')).forEach(function(e){
e.addEventListener('click', function(){
for (var i = 0; i < picSecond.length; i++) {
picSecond[i].style.borderRadius = '50px';
picSecond[i].style.transition = 'all 2s ease';
}
})
})
Array.from(blockcolor.querySelectorAll('#third')).forEach(function(e){
e.addEventListener('click', function(){
for (var i = 0; i < picThird.length; i++) {
picThird[i].style.borderRadius = '50px';
picThird[i].style.transition = 'all 2s ease';
}
})
})
Array.from(blockcolor.querySelectorAll('#four')).forEach(function(e){
e.addEventListener('click', function(){
for (var i = 0; i < picFour.length; i++) {
picFour[i].style.borderRadius = '50px';
picFour[i].style.transition = 'all 2s ease';
}
})
})
Array.from(blockcolor.querySelectorAll('#fife')).forEach(function(e){
e.addEventListener('click', function(){
for (var i = 0; i < picFife.length; i++) {
picFife[i].style.borderRadius = '50px';
picFife[i].style.transition = 'all 2s ease';
}
})
})
Array.from(blockcolor.querySelectorAll('#six')).forEach(function(e){
e.addEventListener('click', function(){
for (var i = 0; i < picSix.length; i++) {
picSix[i].style.borderRadius = '50px';
picSix[i].style.transition = 'all 2s ease';
}
})
})
}