FrontEnd/JavaScript

(Vanila Js) ์—ฐ์‚ฐ์ž ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

YoomD 2023. 1. 17. 20:50

์ •๋ง ์ดˆ๋ณด๊ฐ™์€ ์‹ค์ˆ˜๋ฅผ ํ–ˆ๋‹ค

 

์ด๋Ÿฐ์‹์œผ๋กœ ๊ฒ€์ • ๋ฐ•์Šค ์•ˆ์˜ ์ œ๋ชฉ์„ ํด๋ฆญํ•˜๋ฉด ์ „์ฒด ์ด๋ฏธ์ง€์™€ ์ œ๋ชฉ, ์ˆซ์ž๊ฐ€ ๋ฐ”๋€Œ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์˜ˆ์ œ๋ฅผ ํ•™์Šตํ•˜๋˜ ์ค‘์—

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,,,,