본문 바로가기

슬라이드5

Vanilla JavaScript Slider 자바스크립트 자동 슬라이드 구현 1. 분석 이전 무한 슬라이드 구현 포스팅에 이어서 자동 슬라이드를 구현해본다. 외부 라이브러리를 사용하지 않고 순수 자바스크립트만을 이용해 자동 슬라이드를 구현한다. 자동 슬라이드를 구현하기 위해선 기본적인 슬라이드 기능과 무한 슬라이드 기능이 구현된 상태에서 제대로 구현할 수 있다. 자동 슬라이드는 일정한 시간 간격으로 다음 슬라이드를 보여줘야 한다. 즉, 슬라이드 기능에서 다음 슬라이드를 보여주는 함수를 구현했다면 다음과 같이 `setInterval()`함수를 이용해서 일정 시간마다 다음 슬라이드를 보여주는 함수를 실행하도록 하면 된다. // 기본적으로 슬라이드 루프 시작하기 let loopInterval = setInterval(() => { nextMove(); // 다음 슬라이드를 보여주는 함.. 2022. 5. 22.
Vanilla JavaScript Slider 자바스크립트 무한 슬라이드 구현 1. 분석 이전 슬라이드 드래그 구현 포스팅에 이어서 무한 슬라이드 기능을 구현하려 한다. 외부 라이브러리를 사용하지 않고 순수 자바스크립트만을 이용해 무한 슬라이드를 구현한다. 무한 슬라이드를 구현하기 위해선 처음과 마지막 슬라이드에서 이전, 이후로 이동했을 때 자연스럽게 슬라이드가 진행돼야 한다. 예를 들자면 1, 2, 3, 4, 5 슬라이드가 존재할 때 5번에서 다음 버튼을 눌렀을 때 1번 슬라이드를 보여주는 것이다. 따라서 시각적으로 자연스럽게 무한 슬라이드를 구현하기 위해 처음과 마지막 슬라이드를 각각 복제 해서 슬라이드를 보여줄 것이다. 먼저 엘리먼트를 복제한다. 복제하는 단계에서 엘리먼트 태그, 클래스, 앨리먼트 안의 내용을 모두 복사해준다. // 무한 슬라이드를 위해 start, end 슬.. 2022. 5. 21.
Vanilla JavaScript Slider 자바스크립트 슬라이드 드래그(drag), 스와이프(swipe) 구현 1. 분석 이전 슬라이드 페이지네이션 구현 포스팅에 이어서 드래그 기능을 추가한 슬라이드를 구현하려 한다. 이번에도 마찬가지로 Jquery나 다른 API를 사용하지 않고 순수 자바스크립트만을 이용해 슬라이드 드래그(스와이프)를 구현하려 한다. 드래그(스와이프)로 슬라이드를 조작하기 위해서 자바스크립트의 DOM 이벤트(MDN 이벤트 리스트)를 이용한다. 드래그는 PC에서 마우스 버튼 누르기(mousedown), 마우스 버튼 떼기(mouseup) 이벤트를 이용해서 드래그를 구현하고, 스와이프는 모바일기기에서의 터치 시작(touchstart), 터치 끝(touchend) 이벤트를 이용해서 스와이프를 구현한다. 시작 위치(startPoint)와 끝 위치(endPoint)를 각 이벤트마다 할당받아서 시작 위치와 .. 2022. 5. 10.
Vanilla JavaScript Slider 자바스크립트 슬라이드 페이지네이션(pagination) 구현 1. 분석 이전 슬라이드 버튼 구현 포스팅에 이어서 페이지네이션 기능을 추가한 슬라이드를 구현하려 한다. 이번에도 마찬가지로 Jquery나 다른 API를 사용하지 않고 순수 자바스크립트 만을 이용해 슬라이드 페이지네이션을 구현한다. 먼저 페이지네이션을 생성할 때 슬라이드 전체 개수(maxSlide)만큼 반복하여 페이지네이션 엘리먼트를 추가시킨다. 이후 페이지네이션 클릭 시 슬라이드의 이동은 슬라이드 버튼 구현시 left offset을 이용해 슬라이드를 이동시킨것을 똑같이 이용해서 페이지네이션 클릭 시 이동할 수 있게 할 것이다. 페이지네이션을 추가 했으므로 이전, 이후 버튼 클릭시에도 페이지네이션의 위치가 똑같이 연동될 수 있도록 해야한다. 버튼 클릭 이벤트에 구현해놓은 부분에 버튼 클릭으로 이동된 현재.. 2022. 5. 4.
Vanilla JavaScript Slider 자바스크립트 슬라이드 네비게이션 버튼 구현 1. 분석 Jquery나 다른 API를 사용하지 않고 순수 자바스크립트만을 이용해 슬라이드를 네비게이션 버튼을 구현하려 한다. 자바스크립트의 DOM 조작과 CSS의 flex, position을 이용해 구현해본다. 슬라이드 컨테이너, 슬라이드 아이템의 개념을 이해한다. 이전, 이후 버튼 클릭 시 슬라이드 아이템에 left offset을 적용시켜 이동할 수 있도록 구현할 것이다. 이동하는 과정에서 현재 슬라이드 위치를 기억하는 변수를 만들어 첫번째와 마지막 슬라이드 이외로 넘어가지 않도록 조건문을 걸어 슬라이드가 이상하게 작동하지 않도록 예방한다. 2. 구현 결과 미리보기 구현된 버튼 슬라이드는 아래와 같이 작동한다. HTML 삽입 미리보기할 수 없는 소스 3. 구현 3.1. HTML - index.html.. 2022. 5. 3.