728x90
1. 수동 슬라이드 배너 만드는 방법은 지난 포스팅 참고
https://stukkifather.tistory.com/51
[html, css, js] 초간단 슬라이드 배너 (캐러셀) 만들기
1. 슬라이드 원리 1) 일정한 크기의 이미지들을 float:left로 '가로'로 정렬 2) overflow: hidden 으로 딱 한장씩만 보이게 함 3) 버튼을 누르면 transform: translateX(±한장크기)로 한장씩 다음/이전 슬라이드
stukkifather.tistory.com
2. 자동 슬라이드를 만들어보자
1) 기존에 만들어둔 함수를 활용
2) setInterval 함수를 활용, 2초마다 넘어가고 마지막 장이면 처음으로 돌아가도록 세팅
setInterval(()=>{
if(currentSlide !== slideLangth -1){
moveSlide(currentSlide +1);
} else {
moveSlide(0);
}
},2000)
3) 스크립트 전문
<script>
const slideFrame = document.querySelector('.slide_frame')
const prevBtn = document.querySelector('.prev')
const nextBtn = document.querySelector('.next')
const slides = document.querySelectorAll('.slide_item img')
const slideLangth = slides.length;
let currentSlide = 0;
const moveSlide = (num)=>{
slideFrame.style.transform = `translateX(${-num * 400}px)`
currentSlide = num;
}
prevBtn.addEventListener('click', ()=>{
if(currentSlide !== 0){
moveSlide(currentSlide -1);
}
})
nextBtn.addEventListener('click', ()=>{
if(currentSlide !== slideLangth -1){
moveSlide(currentSlide +1);
}
})
setInterval(()=>{
if(currentSlide !== slideLangth -1){
moveSlide(currentSlide +1);
} else {
moveSlide(0);
}
},2000)
3. 완성
728x90
'html,css,js' 카테고리의 다른 글
[html] 배열 filter 메서드 필터 사용법 (0) | 2023.05.30 |
---|---|
[html, css, js] 앞으로 덮어쓰는 캐러셀 슬라이더 만들기 (feat. z-index) (0) | 2023.05.25 |
[html, css, js] 초간단 슬라이드 배너 (캐러셀) 만들기 (0) | 2023.05.24 |
[css 기초] flex 를 다뤄보자 flexbox (0) | 2023.05.18 |
[CSS 기초] display 디스플레이, box position 박스 포지션 static, relative, fixed, absolute, (0) | 2023.05.17 |