[javascript] PhotoSwipe를 이용한 이미지 확대 및 미니맵 표시 방법

PhotoSwipe는 웹 사이트에서 이미지를 확대하여 보여주는 모바일 및 데스크톱용 JavaScript 라이브러리입니다. 이미지들을 사진첩의 형태로 표시하고, 확대 및 축소가 가능한 인터페이스를 제공합니다. 이번 글에서는 PhotoSwipe를 이용하여 이미지를 확대하고, 미니맵을 표시하는 방법에 대해 알아보겠습니다.

PhotoSwipe 설치 및 설정

PhotoSwipe를 사용하기 위해서는 먼저 해당 라이브러리를 다운로드하고 프로젝트에 추가해야 합니다. 다음은 PhotoSwipe의 GitHub 저장소에서 다운로드할 수 있는 링크입니다.

PhotoSwipe GitHub 저장소

다운로드한 후에는 다음과 같이 HTML 파일에 스타일 시트와 스크립트 파일을 추가합니다.

<link rel="stylesheet" href="path/to/photoswipe.css">
<link rel="stylesheet" href="path/to/default-skin.css">

<script src="path/to/photoswipe.min.js"></script>
<script src="path/to/photoswipe-ui-default.min.js"></script>

이미지 태그 추가

확대 및 미니맵을 표시할 이미지들을 HTML에 추가해야 합니다. 다음과 같이 이미지 태그를 추가합니다.

<figure>
  <a href="path/to/large/image.jpg" data-size="1024x768">
    <img src="path/to/thumbnail/image.jpg" alt="Image">
  </a>
  <figcaption>Caption</figcaption>
</figure>

href 속성에는 원본 이미지의 경로를, data-size 속성에는 이미지의 원본 크기를 지정합니다. img 태그는 썸네일 이미지를 표시하며, figcaption 태그는 이미지의 캡션을 지정합니다.

JavaScript 코드 추가

마지막으로 다음과 같이 JavaScript 코드를 추가하여 PhotoSwipe를 초기화합니다.

var gallery = new PhotoSwipe('.my-gallery', PhotoSwipeUI_Default);
gallery.init();

.my-gallery는 이미지들을 감싸고 있는 요소의 클래스명입니다. 이 클래스명을 사용하여 PhotoSwipe를 초기화합니다.

미니맵 표시 설정

미니맵을 표시하기 위해서는 PhotoSwipe의 showHideOpacityControls 옵션을 사용할 수 있습니다. 다음과 같이 옵션을 추가합니다.

var options = {
  showHideOpacityControls: true,
  /* 다른 옵션들 */
};
var gallery = new PhotoSwipe('.my-gallery', PhotoSwipeUI_Default, items, options);

showHideOpacityControls 옵션을 true로 설정하면, 미니맵이 생략된 상태에서 마우스를 올리면 나타나고, 마우스를 벗어나면 사라집니다.

결론

이번 글에서는 PhotoSwipe를 이용하여 이미지 확대 및 미니맵 표시하는 방법을 알아보았습니다. PhotoSwipe를 사용하면 사용자들은 웹 사이트에서 이미지를 보다 편리하게 확대할 수 있으며, 미니맵을 통해 전체 이미지를 한눈에 볼 수도 있습니다. 자세한 내용은 PhotoSwipe 공식 문서를 참고하시기 바랍니다.

참고 자료