• 이미지 슬라이드 [javascript] :: 마이구미
    Javascript 2016. 8. 1. 21:18
    반응형

    최신 글 - http://mygumi.tistory.com/326


    이번 글은 이미지 슬라이더에 대해 알아볼 것이다.

    다들 페이지 작업을 해봤다면 누구나 이 기능을 넣을려고 했을 것이다.

    많은 라이브러리가 존재하고 대중화된 기능이다.


    대중화되고 쉽게 라이브러리가 존재하여도 힘든 사람들을 위해 작성해보았다.


    사용할 라이브러리는 딱 필요한 기능과 적절히 확장할 수 있다.

    또한 자바스크립트로만 만들어진 라이브러리다.

    그러므로 jquery를 사용하지 않는다면 더더욱 좋은 라이브러리이다.


    간단히 샘플 소스를 보자.


    html 소스


    <!DOCTYPE html> <html> <head> <title>Demo 1 - Menucool Image Slider</title> <link href="themes/1/js-image-slider.css" rel="stylesheet" type="text/css" /> <script src="themes/1/js-image-slider.js" type="text/javascript"></script> <link href="generic.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="sliderFrame"> <div id="slider"> <a href="http://www.menucool.com/javascript-image-slider" target="_blank"> <img src="images/image-slider-1.jpg" alt="Welcome to Menucool.com" /> </a> <img src="images/image-slider-2.jpg" /> <img src="images/image-slider-3.jpg" alt="" /> <img src="images/image-slider-4.jpg" alt="#htmlcaption" /> <img src="images/image-slider-5.jpg" /> </div> </div> </body> </html>


    위의 소스만 있으면 이미지 슬라이더 기능을 사용할 수 있다.


    slider


    아래 페이지를 참고하자.

    샘플 페이지


    실질적인 라이브러리 스크립트 파일을 보면 아래와 같다.


    javascript 소스


    var sliderOptions = { sliderId: "slider", startSlide: 0, effect: "series1", effectRandom: false, pauseTime: 2800, transitionTime: 1200, slices: 14, boxes: 8, hoverPause: 1, autoAdvance: true, thumbnailsWrapperId: "thumb_container_id", m: false, license: "mylicense" }; var imageSlider=new mcImgSlider(sliderOptions); function mcImgSlider(i){for(var I=function(a){return ................


    난독화된 소스는 신경쓰지말자.

    우리는 sliderOptions 객체의 속성들을 통해 원하는대로 이미지 슬라이더 기능을 제어할 수 있다.

    객체의 속성들이 무엇을 의미하는 지를 보자.

    그러면 조금 더 쉽게 자신이 원하는대로 수정하여 사용하면 된다.


    * sliderId 


    실질적인 이미지 슬라이더를 이용할 이미지들을 둘러싸고 있는 부모 div영역의 ID명과 같아야한다.


    * startSlide


    시작할 index 번호이다. (0이 첫번째 이미지이다) 

    숫자, shuffle, random을 설정할 수 있다.

    ex) startSlide : 1 => 두번째 이미지부터 시작, startSlide : "random" => 랜덤으로 순서, startSlide : "shuffle" => 혼합 순서


    * effect

    이미지 넘길 때의 효과를 정할 수 있다. effect : "series1"
     * series1: 6, 8, 15, 2, 5, 14, 13, 3, 7, 4, 14, 1, 13, 15  해당 지정 번호의 효과만 사용 ex) effect : "series1"
     * series2: all effects from 1 to 17   1부터 17까지 모든 효과 사용 ex) effect : "series2"
     * 원하는 효과만 사용 ex) effect : "1,6,7,9" => 1,6,7,9번의 효과만 사용



    아래 페이지에서 테스트할 수 있으니 사이트가서 사용해보길 바란다. 테스트 페이지


    * effectRandom


    효과 순서를 랜덤으로 할 것인지 ex) effect : true => 랜덤 순서 사용


    * pauseTime


    다음 이미지로 넘어갈 때의 정지시간


    * transitionTime


    이미지 슬라이더 기능의 시간 == 전환시간


    * slices


    이미지 슬라이더 효과의 사용 갯수 ex) slices : "10" => 효과 10개 사용


    * boxes


    전환효과 시 사용될 각 행의 타일 갯수 ex) boxes : "5" => 각 행의 타일갯수는 5개


    * hoverPause


    마우스 hover 시 정지 여부 ( 0, 1, 2 ) 

    ex) 0은 마우스 hover시라도 정지 안함, 1은 마우스 hover시 정지, 2는 demo 버전마다 다름 (썸네일 관련)


    * autoAdvance


    이미지 자동 넘어가기 여부 ( true, false ) ex) autoAdvance : true => 자동


    * thumbnailWrapperId


    썸네일 있는 버젼 사용시 썸네일 영역의 부모 div ID명 ( demo2 참고)


    * m


    클릭으로 이미지 넘길 경우의 효과 ( true, false ) ex) m : true => 클릭 시는 왼쪽 또는 오른쪽에 대해서만 효과 적용


    * license


    더 많은 기능을 사용하기 위한 유료


    라이브러리 스크립트 파일을 보면 인스턴스명을 알 수 있다.


    var imageSlider = new mcImgSlider(sliderOptions);


    이 변수명을 통해 어떤 특정 함수를 확장 또는 사용할 수 있다.

    개발자 도구를 통해 확인해보면 아래와 같이 확인할 수 있다.


    slider


    예를 들면,

    imageSlider.next() // 다음 이미지 전환 imageSlider.previous() // 이전 이미지 전환 imageSlider.displaySlide(2) // index 번호가 2인 이미지로 전환


    아래 링크는 8가지의 다른 버전들이 존재한다.

    원하는 데모를 참고하여 이용해보자. 


    참고 자료 및 라이브러리

    http://www.menucool.com/javascript-image-slider


    반응형

    댓글

Designed by Tistory.