(Vanila Js) ์ฐ์ฐ์ ์ค๋ฅ ํด๊ฒฐ
์ ๋ง ์ด๋ณด๊ฐ์ ์ค์๋ฅผ ํ๋ค
์ด๋ฐ์์ผ๋ก ๊ฒ์ ๋ฐ์ค ์์ ์ ๋ชฉ์ ํด๋ฆญํ๋ฉด ์ ์ฒด ์ด๋ฏธ์ง์ ์ ๋ชฉ, ์ซ์๊ฐ ๋ฐ๋๋ ์๋ฐ์คํฌ๋ฆฝํธ ์์ ๋ฅผ ํ์ตํ๋ ์ค์
for ๋ฌธ์ ๋๋ฆฌ๋ ค๊ณ ์ฝ๋๋ฅผ ์ง๊ณ ๋๋ฆฌ๋ ค๋๋ฐ
ํด๋ฆญ์ ํ๋ฉด ์ด๋ ๊ฒ html ์ aํ๊ทธ์ ๊ฑธ๋ฆฐ ์ด๋ฒคํธ๊ฐ ์คํ๋๋ ๊ฒ์ด๋ค...^^
const gallery = document.querySelector('#gallery');
const hOne = gallery.querySelector('h1');
const str = gallery.querySelector('strong');
const img = gallery.querySelector('.showBox img');
const btns = gallery.querySelectorAll('.btns li');
const span = gallery.querySelector('span');
let total = btns.length;
span.innerText = total;
for (let i = 0; i > btns.length; i++) {
btns[i].addEventListener('click', (e) => {
e.preventDefault();
str.innerText = i + 1;
let clickA = btns[i].querySelector('a');
// //๊ทธ aํ๊ทธ ์์ href ์์ฑ์ ๊ฐ์ getํด์ ๋ณ์์ ๋ฃ๊ณ
let imgSrc = clickA.getAttribute('href');
img.setAttribute('src', imgSrc);
let title = clickA.innerText;
hOne.innerText = title;
for (let k = 0; k < btns.length; k++) {
btns[k].classList.remove('on');
}
btns[i].classList.add('on');
});
}
๋ด๊ฐ ์ง ์ฝ๋๋ ์ด๊ฒ!
prevenDefault๋ก aํ๊ทธ์ ์ด๋ฒคํธ๋ ์ค๋จ์ ์์ผฐ๋ค๊ณ ์๊ฐํ๋๋ฐ ๋ญ๊ฐ ๋ฌธ์ ์์๊น....ํ๋ฉด์ 30๋ถ์ ํค๋งธ๋๋ฐ
์ ๋ง ์ด์ด์๊ฒ๋ ๋น๊ต์ฐ์ฐ์๋ฅผ ์๋ชป์ผ๋ ๊ฒ
for (let i = 0; i > btns.length; i++) {}
์ ๋ฐฐ์ด์ ๊ธธ์ด๋ณด๋ค i๊ฐ ๋ ํฌ๋ค๊ณ ํด๋จ์๊น ์ ๊ธฐ์ ํ๋ ธ์๊ฑฐ๋ผ๊ณ ์๊ฐ๋ชปํ๊ณ ๋ฏธ์น๋ฏ์ด ์ฐพ์ํค๋งจ ๋...

for (let i = 0; i < btns.length; i++) {
btns[i].addEventListener('click', (e) => {
e.preventDefault();
str.innerText = i + 1;
let clickA = btns[i].querySelector('a');
// //๊ทธ aํ๊ทธ ์์ href ์์ฑ์ ๊ฐ์ getํด์ ๋ณ์์ ๋ฃ๊ณ
let imgSrc = clickA.getAttribute('href');
img.setAttribute('src', imgSrc);
let title = clickA.innerText;
hOne.innerText = title;
for (let k = 0; k < btns.length; k++) {
btns[k].classList.remove('on');
}
btns[i].classList.add('on');
});
}
๋ฐ๊พธ๊ณ ๋๋ ์ ๋๋ก ์คํ๋๋ค
๋๋ฒ ๋ค์ ์ค์๋ ์ด์ ,,,NO,,,,