-
카테고리
-
해결 여부
미해결
질문있습니다.
20.08.28 21:57 작성 조회수 118
0
선생님 저는 js로 div를 안만들고 html으로 구현을 한 상태입니다. 랜덤으로 색을 뽑아서 뒷배경에 넣어줘야하는데 안들어갑니다 ㅜㅜ 어떤식으로 구현해야할까요..?
function colorSetting() {
for (let i =0; i < 12; i ++) {
cardBack.style.backgroundColor = color[i];
}
for (const card of cardList) {
card.addEventListener('click', function(){
card.classList.toggle('flipped');
});
}
}
html으로 card 12개를 다 작성한 상태라
queryselectorAll으로 가져와서 for of해줬습니다 ,,
뒤집는 건 문제없이 되는데 뒷배경 색상적용이 안됩니다..!
답변을 작성해보세요.
0
조현영
지식공유자2020.08.30
네 이미 for (const back of cardBack)을 한 상황에서 12번 반복하므로 이중으로 반복문을 돌리면 12*12해서 144번 반복문을 돌리는 것과 다름없습니다. for문은 한 번만 쓰세요.
0
pos7271
질문자2020.08.30
문제를 찾았습니다..! cardBack도 querySelectorAll로 가져와야하는데 querySelector 으로 가져와서 하나에만 먹혔던거였습니다ㅜㅜ 그런데 또 다른 문제가 생겼습니다..
이런식으로 코드를 수정해봤는데 모든카드가 다 똑같은 색으로 먹힙니다..ㅠ 이중포문 사용해서 하면 안되는걸까요..?
여기서 cardBack은 querySelectorAll로 가져온 값입니다..!
콘솔로그 back 해보면 다 똑같은 컬러로 찍힙니다 ㅠ ㅠ 실제로 구현해봐도 뒤집었을 때 똑같은 색상들이구요..
for (const back of cardBack) {
for (let i =0; i < 12; i ++) {
back.style.backgroundColor = color[i];
}
console.log(back);
}
0
0
0
답변 5