๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Javascript/Effect

์Šฌ๋ผ์ด๋“œ ์ดํŽ™ํŠธ (2)

by oranssy 2022. 8. 29.
728x90
๋ฐ˜์‘ํ˜•

โญ๏ธ ์Šฌ๋ผ์ด๋“œ ์ดํŽ™ํŠธ 02 โญ๏ธ


01. < script > ์— ์ž‘์„ฑํ•˜๊ธฐ

<script>
const sliderWrap = document.querySelector(".slider__wrap");></script>
const sliderImg = document.querySelector(".slider__img"); // ๋ณด์—ฌ์ง€๋Š” ์˜์—ญ
const sliderInner = document.querySelector(".slider__inner"); // ์›€์ง์ด๋Š” ์˜์—ญ
const slider = document.querySelectorAll(".slider"); // ์ด๋ฏธ์ง€
let currentIndex = 0; // ํ˜„์žฌ ๋ณด์ด๋Š” ์ด๋ฏธ์ง€
let sliderCount = slider.length; // ์ด๋ฏธ์ง€ ๊ฐฏ์ˆ˜
sliderInner.style.transition = "all 0.6s" // ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋„˜์–ด๊ฐ€๋„๋ก ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ฃผ๊ธฐ
// sliderInner.style.transform += "translateX(0px)" -800 * 0 ๊ทœ์น™์„ฑ์„ ์ฐพ๊ณ  ์‹์„ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์ง€ ์ƒ๊ฐํ•ด๋ณด๊ธฐ
// sliderInner.style.transform += "translateX(-800px)" -800 * 1 width ๊ฐ’ * ์ด๋ฏธ์ง€ ์ˆœ์„œ(0~4)
// sliderInner.style.transform += "translateX(-1600px)" -800 * 2
// sliderInner.style.transform += "translateX(-2400px)" -800 * 3
// sliderInner.style.transform += "translateX(-3200px)" -800 * 4
setInterval(() => {
// currentIndex++; // ํ˜„์žฌ ์ด๋ฏธ์ง€ ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ์ถ”๊ฐ€์‹œํ‚ด
currentIndex = (currentIndex + 1) % 5 // 1 2 3 4 0 1 2 3 4 0 1 2 3 4 ์œ„์˜ ์‹๊ณผ ๊ฐ™์€ ์‹
// if(currentIndex < 4){
// currentIndex++;
// } else {
// currentIndex = 0;
// }
// currentIndex < 4 ? currentIndex++ : currentIndex = 0; ์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋Š” if๋ฌธ์„ ์ค„์—ฌ์„œ ์“ฐ๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ์€ ์•„๋‹ˆ๋ฏ€๋กœ, ์‚ด์ง ์˜๋„์— ๋งž์ง€ ์•Š์Œ
// sliderInner.style.transform += "translateX(-100px)" // + ๋ถ™์ด๋ฉด ์›€์ง์ž„
sliderInner.style.transform = "translateX("+ -800 * currentIndex +"px)" // ๋ฌธ์ž์—ด๋กœ ๋น„๊ฟ”์„œ ๋„ฃ์–ด์ฃผ๊ธฐ ์œ„ํ•ด "+ -800*currentIndex +" ๋กœ ๋„ฃ์–ด์ฃผ๊ธฐ ; + ์ˆ˜์‹ + ์€ ์•ˆ์— ์ˆ˜์‹์„ ๋„ฃ์–ด์ค€๋‹ค๋Š” ์˜๋ฏธ
}, 1000);

03. ๊ฒฐ๊ณผ๋ณด๊ธฐ

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€