ss SLIDER Effect 04
본문 바로가기
JAVASCRIPT Effect

SLIDER Effect 04

by 꿈나무개발 2022. 9. 18.
728x90

슬라이드 이펙트 - 이미지 슬라이드(버튼)

next 버튼을 눌렀을 때는 왼쪽 방향으로, prev 버튼을 눌렀을 때는 오른쪽 방향으로 슬라이드가 움직입니다. 사이트의 우측 하단에 소스 보기를 누르면 html, css, javascript 소스를 모두 확인할 수 있습니다.


자바스크립트 방식

슬라이드 효과를 위한 자바스크립트 작성법입니다. next 버튼을 눌렀을 때는 왼쪽 방향으로, prev 버튼을 눌렀을 때는 오른쪽 방향으로 슬라이드가 움직입니다. prev버튼을 눌렀을 때 이미지1에서 이미지5로 넘어가기 위해 console.log(currentIndex)로 확인하고, 4, 3, 2, 1, 0을 반복하기 위해 currentIndex에 4를 더해줍니다.

const sliderWrap = document.querySelector(".slider__wrap");
const sliderImg = document.querySelector(".slider__img");       //보여지는 영역
const sliderInner = document.querySelector(".slider__inner");   //움직이는 영역
const slider = document.querySelectorAll(".slider");            //각각의 이미지
const sliderBtn = document.querySelector(".slider__btn");            //버튼
const sliderBtnPrev = sliderBtn.querySelector(".prev");            //왼쪽버튼
const sliderBtnNext = sliderBtn.querySelector(".next");            //오른쪽버튼

let currentIndex = 0;                       //현재 이미지
let sliderCount = slider.length             //이미지 갯수
let sliderWidth = sliderImg.offsetWidth;    //이미지 가로값

//이미지 움직이는 영역
function gotoSlider(num) {
    sliderInner.style.transition = "all 400ms";     //400ms -> 0.4s
    sliderInner.style.transform = "translateX(" + -sliderWidth * num + "px)";
    currentIndex = num;
}

//왼쪽 버튼 클릭했을 때
sliderBtnPrev.addEventListener("click", () => {
    let prevIndex = (currentIndex + (sliderCount - 1)) % sliderCount;   
    gotoSlider(prevIndex);

    console.log(currentIndex) //4,3,2,1,0,4,3,2,1,0 반복
});

//오른쪽 버튼 클릭했을 때
sliderBtnNext.addEventListener("click", () => {
    let nextIndex = (currentIndex + 1) % sliderCount;
    gotoSlider(nextIndex);
    //0, 1, 2, 3, 4
}); 
728x90
반응형

'JAVASCRIPT Effect' 카테고리의 다른 글

PARALLAX Effect 05  (3) 2022.09.20
PARALLAX Effect 04  (1) 2022.09.18
Mouse Effect 02  (2) 2022.09.18
PARALLAX Effect 03  (2) 2022.09.13
PARALLAX Effect 02  (2) 2022.09.13

댓글


HTML
CSS
JAVASCRIPT

JAVASCRIPT

자세히보기
광고 준비중입니다.