[javascript] Isotope을 이용하여 웹 페이지의 제품 목록을 필터링하는 방법은 무엇인가요?
- Isotope 라이브러리 추가: 해당 웹 페이지에 Isotope 라이브러리를 추가합니다. Isotope은
<script>
태그를 사용하여 추가할 수 있습니다.
<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>
- HTML 마크업 작성: 제품 목록을 나타내기 위해 HTML 마크업을 작성합니다. 각 제품은 CSS 클래스를 지정하여 필터링에 사용될 속성 값을 가질 수 있습니다.
<div class="product-list">
<div class="product-item" data-category="shirts">
<!-- 제품 내용 -->
</div>
<div class="product-item" data-category="pants">
<!-- 제품 내용 -->
</div>
<!-- 나머지 제품들 -->
</div>
- Isotope 초기화하기: Isotope을 사용하여 제품 목록을 필터링하기 위해 JavaScript 코드로 Isotope을 초기화합니다. 초기화 코드는
document.ready
이벤트 핸들러 내에 위치해야 합니다.
$(document).ready(function() {
// Isotope 초기화
$('.product-list').isotope({
itemSelector: '.product-item',
layoutMode: 'fitRows'
});
});
- 필터링 기능 추가: 사용자가 필터를 선택하면 Isotope을 이용하여 제품 목록을 필터링할 수 있습니다. 필터 버튼을 클릭하거나, 사용자 입력에 따라 필터를 적용할 수 있습니다.
// 카테고리 필터링
$('.filter-btn').click(function() {
var filterValue = $(this).data('filter');
$('.product-list').isotope({
filter: filterValue
});
});
위의 코드에서 .filter-btn
은 원하는 필터링을 적용하기 위한 필터 버튼의 CSS 클래스입니다. 필터 버튼을 클릭할 때 해당 필터 값을 data-filter
속성으로 가져와 필터를 적용합니다.
Isotope을 이용하여 웹 페이지의 제품 목록을 동적으로 필터링하는 방법에 대해 알아보았습니다. 이러한 방식을 사용하여 사용자가 원하는 제품을 쉽게 찾을 수 있는 필터링된 제품 목록을 만들 수 있습니다.