추가할 기능
- Slider의 끝과 처음이 연결되어있는 듯한 효과
- Indicator을 클릭하면 , 해당 index로 이동하는 기능
버그
- Next 버튼을 클릭할 때, 뭔가 점점 빨라지는 현상 원인
점점 빨리지는 현상의 원인
- Next 버튼을 눌렀을 때도, SetInterval의 이벤트루프는 동작하고 있기 때문이다.Next버튼이나, Prev버튼을 눌렀을 때 다시 Interval을 초기화 시켜줘야한다.
- Interval을 초기화하는 코드가 많아져서, 따로 함수로 구현하였다.
* 추가 코드
onMoveNext(){
...
onResetInterval(this.autoplay)
...
}
onResetInterval(IsAutoPlay){
if(IsAutoPlay){
clearInterval(this.#interValId);
this.#interValId= setInterval(this.onMoveNext.bind(this),2000);
}
}
Indicator을 클릭하면 , 해당 index로 이동하는 기능
- Event위임을 이용하기 위해서, html에 dataset을 미리 설정해놨음.
- indicator들 사이를 클릭했을 때, undefined가 뜰 수 있기 때문에, undefined도 처리를 해주려고 합니당.
* 추가 코드
...
onClickIndicator(event){
const position = parseInt(event.target.dataset.sliderIdx);
const IsNumber = !!position
//console.log(position)
//indicator 사이의 undefined인 경우
if(!IsNumber){
return
}
this.#currentIdx = position;
this.#sliderLstEl.style.marginLeft = `-${this.#sliderScale*this.#currentIdx}px`;
this.onResetInterval(this.autoplay);
this.onSetIndicator();
}
...
Slider의 끝과 처음이 연결되어있는 듯한 효과
- 맨 앞의 이미지를 복사하여, 뒤에 붙이면 된다고 하는데, trasition을 손보지 않는 이상, 아래와 같이 모든 Element들이 스르륵 보이게 된다.
- 요건 좀 더 고민하고 구현을 해보도록 하겠다. (Swiper JS를 써봤을 때, Swiper는 이걸 다 처리해놨던데 ..흠 )
제 깃헙입니다.
https://github.com/ChoboProgrammer/SimpleImage_repo
'Project' 카테고리의 다른 글
[React/state/React상태관리] TodoList 삽질하기 2 (0) | 2022.10.04 |
---|---|
[React/State/React상태관리] React TodoList로 삽질하기 (1) | 2022.09.30 |
[Project/JS/배너] 자바스크립트로 이미지 슬라이드 구현 - 슬라이드 기능 구현 (0) | 2022.09.02 |
[Project/JS/개발환경] 자바스크립트로 이미지 슬라이더 직접 만들기 - 개발환경 (0) | 2022.08.31 |
[Project/JS/배너/설계] 자바스크립트로 이미지 슬라이더(Swiper) 직접 만들기 - 설계 (0) | 2022.08.29 |