[javascript] Isotope을 이용하여 웹 페이지의 프로젝트 맵을 구현하는 방법은 무엇인가요?
- HTML 구조 설정하기:
<div class="grid"> <div class="item element-item"> <!-- 프로젝트 정보를 포함한 내용 --> </div> <!-- 다른 프로젝트 아이템들 --> </div>
- Isotope 라이브러리 가져오기:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.isotope/3.0.6/isotope.pkgd.min.js"></script>
- CSS 설정하기:
.grid { /* 그리드 레이아웃 스타일 설정 */ } .item { /* 개별 아이템 스타일 설정 */ }
- Isotope 초기화 및 필터링 설정하기:
$(document).ready(function() { // Isotope 그리드 요소 선택 var $grid = $('.grid').isotope({ // 그리드 레이아웃 설정 itemSelector: '.item', layoutMode: 'masonry' }); // 필터 버튼 클릭 시 이벤트 처리 $('.filters-button-group').on('click', 'button', function() { var filterValue = $(this).attr('data-filter'); // 필터 적용 $grid.isotope({ filter: filterValue }); }); });
- 필터 버튼 생성하기:
<div class="button-group filters-button-group"> <button data-filter="*">전체</button> <button data-filter=".design">디자인</button> <button data-filter=".development">개발</button> <!-- 다른 필터 버튼들 --> </div>
- 프로젝트 아이템에 클래스 추가하기:
<div class="item element-item design">프로젝트 1 내용</div> <div class="item element-item development">프로젝트 2 내용</div> <!-- 다른 프로젝트 아이템들 -->
위의 방법을 따라서 Isotope 라이브러리와 HTML, CSS, JavaScript 코드를 사용하여 웹 페이지에 프로젝트 맵을 구현할 수 있습니다.
참고 문서: Isotope