슬라이드쇼 구현 (css/javascript/jquery)
1. 기본
- 이미지를 위한 <img>태그
- 이전, 다음으로 넘어가기 위한 <a>태그
- 순서와 현재 위치를 위한 <span>태그
See the Pen basic sildeshow by kutar37 (@kutar37) on CodePen.
2. 자동
slides[slideIndex-1].style.display = "block"; dots[slideIndex-1].className += " active"; setTimeout(showSlides, 2000); // Change image every 2 seconds | cs |
See the Pen automatic slideshow by kutar37 (@kutar37) on CodePen.
3. Materialize
클래스만 지정해주고 그냥 갖다쓰면 된다. 자세한 옵션들은 이곳에서 확인할 수 있다.
$(document).ready(function(){ $('.slider').slider(); }); | cs |
See the Pen Materialize slider by kutar37 (@kutar37) on CodePen.
4. Gallery
아래 현재 인덱스를 보여주던 작은 버튼들 대신 미리보기가 가능한 형태다.
<span>으로 처리되었던 dots 부분이 <img>로 바뀐 것에 불과하지만, 끝까지 슬라이드해보지 않아도 컨텐츠를 확인할 수 있다는 점에서 UX적 우위가 있다.
구현상 원리는 완전히 같으므로 코드에서 큰 차이는 없다.
See the Pen mxaRbb by kutar37 (@kutar37) on CodePen.
5. Pure CSS
자바스크립트 없이 opacity와 transition을 이용해 순수 CSS로 구현한 슬라이드쇼.
radiobutton이 하나만 선택된다는 특징을 이용해 label과 결합한 꼼수다.
CSS의 한계상 각 <label>이 바라보는 이전/다음 이미지를 지정해주어야 한다는 단점이 있어 실제로 구현하기엔 귀찮음이 있다.
이런 방식도 가능하다 정도지, 위의 슬라이드쇼에 스타일을 추가하는 것이 쉽고 빠르고 수정도 간단하다.
See the Pen CSS image slider w/ next/prev btns & nav dots by kutar37 (@kutar37) on CodePen.
6. 밀어내기
제목과 부제목을 위한 텍스트, 자동 롤링, 네비게이션 기능이 포함되어 있다.
(추가)
+ 제이쿼리 안쓰는 분들을 위해 바닐라 자바스크립트로 수정하고, width 값을 고정px에서 100%로 변경함.
https://saintsilver.github.io/components/view/carousel.html
아래는 jQuery가 사용됨.
See the Pen Simple Image Slider by kutar37 (@kutar37) on CodePen.