JAVASCRIPT/자바스크립트
sliderEffect05 - 버튼 클릭
(*ᴗ͈ˬᴗ͈)ꕤ*.゚
2022. 2. 17. 13:18
HTML 구성
<section id="sliderType05">
<div class="slider__wrap">
<div class="slider__img">
<div class="slider__inner">
<div class="slider"><img src="img/images01.jpg" alt="이미지1"></div>
<div class="slider"><img src="img/images02.jpg" alt="이미지2"></div>
<div class="slider"><img src="img/images03.jpg" alt="이미지3"></div>
<div class="slider"><img src="img/images04.jpg" alt="이미지4"></div>
<div class="slider"><img src="img/images05.jpg" alt="이미지5"></div>
</div>
</div>
<div class="slider__btn">
<a href="#" class="prev">prev</a>
<a href="#" class="next">next</a>
</div>
</div>
</section>
JS 구성
function gotoSlider(num){ // gotoSlider 함수에 num 실행
sliderInner.style.transition = "all 0.4s"; // css에 transition 추가
sliderInner.style.transform = "translateX("+ -sliderWidth * num +"px)"; // css에 transform 추가
currentIndex = num; // currentIndex와 num 값이 같도록 함
}
sliderBtnPrev.addEventListener("click", () => { // 이전으로 가는 버튼을 눌렀을 때의 이벤트 설정
let prevIndex = (currentIndex + (sliderCount - 1) ) % sliderCount; // 나머지를 이용하여 이전 위치 값 설정
gotoSlider(prevIndex); // gotoSlider에 prevIndex값을 넣어서 실행
})
sliderBtnNext.addEventListener("click", () => { // 다음으로 가는 버튼을 눌렀을 때의 이벤트 설정
let nextIndex = (currentIndex + 1) % sliderCount; // 나머지를 이용하여 다음 위치 값 설정
gotoSlider(nextIndex); // gotoSlider에 nextIndex값을 넣어서 실행
})
나의 JS 방식(if 활용)
sliderBtnPrev.addEventListener("click", () => {
if(currentIndex!=0){
let down = currentIndex -1;
currentIndex--;
gotoSlider(down);
}
})
sliderBtnNext.addEventListener("click", () => {
if(currentIndex!=4){
let up = currentIndex + 1;
currentIndex++;
gotoSlider(up);
}
})
선생님의 방식이 더 좋은 것 같다
링크https://sungilryuu.github.io/webs_class/javascript/effect/sliderEffect05.html