Cześć i czołem podpowie ktoś jak poradzić sobie z tym problemem?
Otóż próbuje za pomocą pętli sprawdzić, czy dany div posiada jedną z klas zawartch w tablicy, jeżeli ma powinien usunąć divowi tą klase i przejść do kolejnego.
Problem jest taki, że kod tak jakby losowo usuwa klasy kilku divom, raz jednemu, raz trzem.
<div class="container">
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
</div>
.container{
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr ;
grid-gap: 6px;
}
.card{
background: black;
width: 250px;
height: 250px;
}
.darkcyan{
background: darkcyan;
}
.crimson{
background: crimson;
}
.blue{
background: blue;
}
.yellowgreen{
background: yellowgreen;
}
.pink{
background: pink;
}
.azure{
background: rgb(5, 129, 230);
}
.unactive{
background: gray;
position: relative;
}
.unactive::before{
content: 'UNACTIVE';
color: white;
text-shadow: 0 0 2px black;
position: absolute;
top: 125px;
left: 84px;
}
var colorList = ['darkcyan', 'crimson', 'blue', 'yellowgreen', 'pink', 'azure', 'darkcyan', 'crimson', 'blue', 'yellowgreen', 'pink', 'azure'];
var colors = ['darkcyan', 'crimson', 'blue', 'yellowgreen', 'pink', 'azure', 'darkcyan', 'crimson', 'blue', 'yellowgreen', 'pink', 'azure'];
var cards = [...document.querySelectorAll('.card')];
function randomColors(){
cards.forEach( card=>{
let randomValue = parseInt(Math.random() * colorList.length);
card.classList.add(colorList[randomValue]);
colorList.splice(randomValue, 1);
})
}
function resetGame(){
let i = 0;
cards.forEach( card=>{
let color = colors[i];
while(card.classList.value.includes(color)){
card.classList.remove(color);
i++;
}
} )
}
Nie wiem czy to jasno opisałem ale celem jest usunięcie każdemu divowi klasy zawartej w tablicy colors.