티스토리 뷰
const sliderWrap = document.querySelector(".slider__wrap");
const sliderImg = document.querySelector(".slider__img"); //이미지 한칸만 보이는 영역
const sliderInner = document.querySelector(".slider__inner"); //이미지 움직이는 영역
const slider = document.querySelectorAll(".slider"); //5개의 이미지 저장
const sliderBtn = document.querySelector(".slider__btn") //슬라이드버튼 영역
const sliderBtnPrev = document.querySelector(".prev"); //왼쪽 버튼
const sliderBtnNext = document.querySelector(".next"); //오른쪽 버튼
let currentIndex = 0;
let sliderCount = slider.length; //이미지 갯수
let sliderWidth = sliderImg.offsetWidth; //sliderImg의 가로값을 변수 sliderWidth 지정
function gotoSlider(num) { //슬라이드 동작 매개변수 함수 생성
sliderInner.style.transition = "all 400ms" //이미지 transition효과 0.4초 설정
sliderInner.style.transform = "translateX("+ -sliderWidth * num +"px)"; //이미지 움직임(요소의) -가로값 * num
currentIndex = num; //현재 보이는 이미지 숫자
}
sliderBtnPrev.addEventListener("click", () => { //prev버튼 클릭시(왼쪽으로 움직이는 이미지버튼)
let prevIndex = (currentIndex + (sliderCount - 1)) % sliderCount;
//첫번째 이미지가 있을때 0 --> 4
// if( currentIndex == 0 ) prevIndex = sliderCount -1
gotoSlider(prevIndex) //gotoSlider함수에 prevIndex설정
})
sliderBtnNext.addEventListener("click", () => { //next버튼을 클릭시(오른쪽으로 움직이는 이미지 버튼)
let nextIndex = (currentIndex + 1) % sliderCount; // 0, 1, 2, 3, 4 만 나올수 있도록 나누기 사용
//이미지 총 갯수 이상 넘어X
gotoSlider(nextIndex) //gotoSlider함수에 nextIndex설정
})
슬라이드 이펙트5
이미지 슬라이드 - 버튼 추가 1 2 3 4 5 6 7 8 소스보기 HTML CSS JavaScript jQuery img[src="img/img$$.jpg" alt="이미지$"] --> prev next .slider__wrap { display: flex; align-items: center; justify-content: center; height: 100vh; } .slider__im
parkjongho1.github.io
반응형
'Script Sample > SliderEffect' 카테고리의 다른 글
| Slider Effect - 무한, 버튼 추가, 닷 버튼 추가 (1) | 2022.04.07 |
|---|---|
| Slider Effect - dot 버튼 슬라이드 (0) | 2022.02.17 |
| Slider Effect - 위로 움직이기 (0) | 2022.02.17 |
| Slider Effect - 연속으로 움직이는 효과 (0) | 2022.02.16 |
| Slider Effect - 좌로 움직이기 효과 (0) | 2022.02.16 |
댓글
© 2022 babydevelop