[javascript] PhotoSwipe를 이용한 이미지 검색 기능 구현 방법

이번 포스트에서는 JavaScript 라이브러리인 PhotoSwipe를 활용하여 이미지 검색 기능을 구현하는 방법에 대해 알아보겠습니다.

PhotoSwipe란?

PhotoSwipe는 모바일 및 데스크톱에서 사용할 수 있는 JavaScript 이미지 갤러리 라이브러리입니다. 이 라이브러리를 사용하면 사용자가 이미지를 확대, 축소, 드래그 등 다양한 작업을 수행할 수 있으며, 이미지에 대한 좌표 정보도 제공합니다.

구현 방법

  1. PhotoSwipe 라이브러리를 다운로드하고 웹 페이지에 추가합니다. 코드는 다음과 같습니다.
<!-- CSS -->
<link rel="stylesheet" href="path/to/photoswipe.css">
<link rel="stylesheet" href="path/to/default-skin/default-skin.css">

<!-- JavaScript -->
<script src="path/to/photoswipe.js"></script>
<script src="path/to/photoswipe-ui-default.js"></script>
  1. 이미지를 태그로 감싸고 필요한 정보를 데이터 속성으로 저장합니다. 예를 들어, 이미지 URL, 너비, 높이 등을 저장할 수 있습니다. 코드는 다음과 같습니다.
<a href="image.jpg" data-size="800x600">
  <img src="thumbnail.jpg">
</a>
  1. 검색 기능을 추가하기 위해 input 요소를 추가합니다. 코드는 다음과 같습니다.
<input type="text" id="search-input">
  1. JavaScript 코드를 작성하여 검색 기능을 구현합니다. 코드의 주요 로직은 다음과 같습니다.
// 검색 기능 구현
document.getElementById("search-input").addEventListener("input", function() {
  var searchText = this.value.toLowerCase();
  var images = document.getElementsByTagName("a");

  for (var i = 0; i < images.length; i++) {
    var image = images[i];
    var imageName = image.getAttribute("data-title").toLowerCase();

    if (imageName.indexOf(searchText) > -1) {
      image.style.display = "inline-block";
    } else {
      image.style.display = "none";
    }
  }
});

// PhotoSwipe 초기화
var gallery = new PhotoSwipe(document.querySelector(".pswp"), PhotoSwipeUI_Default, images, options);
gallery.init();
  1. 웹 페이지에 데이터 속성을 포함한 이미지 태그를 작성합니다. 코드는 다음과 같습니다.
<a href="image1.jpg" data-size="800x600" data-title="Nature">
  <img src="thumbnail1.jpg">
</a>

<a href="image2.jpg" data-size="800x600" data-title="City">
  <img src="thumbnail2.jpg">
</a>

<a href="image3.jpg" data-size="800x600" data-title="Beach">
  <img src="thumbnail3.jpg">
</a>

이제 위의 방법으로 PhotoSwipe를 이용한 이미지 검색 기능을 구현할 수 있습니다.

결론

이번 포스트에서는 PhotoSwipe를 이용하여 이미지 검색 기능을 구현하는 방법에 대해 알아보았습니다. PhotoSwipe를 사용하면 사용자가 손쉽게 이미지를 확대, 축소할 수 있으며, 검색 기능을 추가하여 원하는 이미지를 더 쉽게 찾을 수 있습니다. PhotoSwipe의 다양한 기능과 설정 옵션을 활용하여 자신만의 이미지 갤러리를 구축해보세요.