티스토리 뷰
hljs.highlightAll();
modal();
tabMenu();
//slider01
//겹쳐진 이미지를 opacity(불투명도 조절)을 이용해서 차례대로 보여주기
//앞에 이미지들이 0이 되어야 뒤에 이미지가 보임
//변수 설정 : 선택하기
const sliderWrap = document.querySelectorAll(".slider_wrap") //전체
const sliderImg = document.querySelectorAll(".slider_img") //이미지 묶음 | 요소: 이미지1....이미지5
const slider = document.querySelectorAll(".slider") //이미지
let currentIndex = 0; //현재 보이는 이미지
let sliderCount = slider.length // 이미지 갯수
setInterval(()=>{ //setInterval()메서드를 함수를 반복적으로 호출 해줌
//다음이미지 인덱스 = (현재이미지 인덱스+ 1) % 5
//현재이미지보다 +1이 크고 0으로 다시 초기화(이미지 반복적으로 다시 보여주기 위해)
let nextIndex = (currentIndex+ 1) % 5; //12340 12340 12340
// 몫 나머지
// 1 / 5 = 0 ... 1
// 2 / 5 = 0 ... 2
// 3 / 5 = 0 ... 3
// 4 / 5 = 0 ... 4
// 5 / 5 = 1 ... 0
// 6 / 5 = 1 ... 1
// 7 / 5 = 1 ... 2
// console.log("currentIndex :" + currentIndex)
// console.log("nextIndex :" + nextIndex)
//애니메이션 속도 설정(transition) : 0.3초동안 보여줌
slider.forEach(slider =>{
slider.style.transition = "all 0.3s"
})
//이미지 불투명도 설정
slider[currentIndex].style.opacity = "0" // 앞(현재)에 이미지를 안 보이게
slider[nextIndex].style.opacity = "1" // 다음 이미지를 보이게
//첫번째 실행
//slider[0] = opacity:0 - 이미지1 | currentIndex : 0
//slider[1] = opacity:1 - 이미지2 | nextIndex : 1
currentIndex = nextIndex; //currentIndex:0 ,nextIndex:1 -> currentIndex:1, nextIndex:1.....currentIndex:n, nextIndex:n
//currentIndex++;와 같지만 이렇게 쓰면 0으로 초기화 되지 않아서 5번까지 보여주고 1번으로 돌아오면 거기서 멈춤
//slider[6]부터 이미지가 없기 때문
//두번째 실행됐을 때
//slider[1] = opacity:0
//slider[2] = opacity:1
//3번
//currentIndex : 2
//nextIndex : 3
//4번
//currentIndex : 3
//nextIndex : 4
//5번
//currentIndex : 4
//nextIndex : 0
//6번
//currentIndex : 0
//nextIndex : 1
},2000); //함수를 2초마다 호출 하도록 설정 - 그래서 이미지1번(slider[0])부터 시작(함수 실행하면 2번slider[1]부터 보임)
//2초가 지나면
//첫번째 이미지는 --> opacity : 0
//두번째 이미지는 --> opacity : 1
//2초가 지나면
//첫번째 이미지는 --> opacity : 0
//두번째 이미지는 --> opacity : 0
//세번째 이미지는 --> opacity : 1
//2초가 지나면
//첫번째 이미지는 --> opacity : 0
//두번째 이미지는 --> opacity : 0
//세번째 이미지는 --> opacity : 0
//네번째 이미지는 --> opacity : 1
//라는 함수 완성!
'Script samlpe > Silder Effect' 카테고리의 다른 글
07. 이미지 슬라이드 : 무한, 버튼 추가 (0) | 2022.04.17 |
---|---|
06. 이미지 슬라이드 : 좌로 움직이기 / 버튼 추가 / 닷 버튼 추가 (0) | 2022.03.11 |
05. 이미지 슬라이드 : 좌로 움직이기 / 버튼 추가 (0) | 2022.03.11 |
03. 이미지 슬라이드 : 연속적으로 좌로 움직이기 (0) | 2022.03.11 |
02. 이미지 슬라이드 : 좌로 움직이기 (0) | 2022.03.11 |
댓글
© 2018 webstoryboy