티스토리 뷰
{
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" //slider__inner에게 style transition 추가
sliderInner.style.transform = "translateX("+ -sliderWidth * num + "px)"; //slider__inner에 transitionX + 이미지 가로값 + PX 추가
currentIndex = num; //currentIndex-- currentIndex++
}
sliderBtnPrev.addEventListener("click", ()=>{
let prevIndex = (currentIndex + (sliderCount - 1)) % sliderCount; //prev버튼 클릭하면 현재 보이는 이미지의 translatex값을 을 이전 이미지의 가로 값 만큼변경
//첫번째 이미지가 있을 때 0 -> 4
// if(currentIndex == 0){
// prevIndex = sliderCount -1;
// }
gotoSlider(prevIndex); //함수 실행
})
sliderBtnNext.addEventListener("click", ()=>{ //next 버튼을 클릭했을때
let nextIndex = (currentIndex + 1) % sliderCount; //현재 보이는 이미지의 translateX 값을 다음 이미지의 가로 값 만큼 증가
gotoSlider(nextIndex);
})
}
'Script Sample > SliderEffect' 카테고리의 다른 글
Slider Effect 07 - 무한, 버튼 추가, 닷 버튼 추가 (0) | 2022.04.16 |
---|---|
Slider Effect 06 - 닷 추가 (0) | 2022.02.19 |
Slider Effect 04 - 상,하로 움직이기 (0) | 2022.02.19 |
Slider Effect 03 - 연속적으로 움직이기 (0) | 2022.02.16 |
Slider Effect 02 - 좌로 움직이기 (0) | 2022.02.16 |
댓글
© 2018 webstoryboy