[javascript] Isotope을 이용하여 동적으로 생성된 요소들을 정렬하는 방법은 무엇인가요?
먼저, Isotope을 프로젝트에 추가해야 합니다. 다음과 같이 <script>
태그를 이용하여 Isotope 라이브러리를 가져올 수 있습니다.
<script src="https://cdn.jsdelivr.net/npm/isotope-layout@3.0.6/isotope.pkgd.min.js"></script>
Isotope을 사용하기 위해, 정렬할 요소들을 가지고 있는 컨테이너를 만들어야 합니다. 컨테이너는 일반적으로 <div>
태그로 만들며, 아이템들이 배치될 공간을 제공합니다.
<div class="grid">
<!-- 아이템들을 이곳에 추가하면 됩니다. -->
</div>
다음으로, Isotope을 초기화하고 정렬할 요소들을 설정해야 합니다. 아래의 JavaScript 코드를 사용하여 Isotope 객체를 초기화할 수 있습니다.
var grid = document.querySelector('.grid');
var iso = new Isotope(grid, {
itemSelector: '.grid-item',
layoutMode: 'fitRows'
});
JavaScript 코드를 해석해보면, .grid
클래스를 가진 요소를 정렬할 대상으로 설정하고 있습니다. itemSelector
속성에는 정렬할 아이템 요소들의 CSS 선택자를 지정합니다. layoutMode
속성은 정렬 방식을 설정하는데, fitRows
는 가로 줄에 맞춰 요소를 정렬하는 방식입니다.
마지막으로, 정렬을 수행할 때 이벤트나 조작이 발생했을 때 Isotope 객체에게 정렬을 업데이트하라고 알려주어야 합니다. 예를 들어, 정렬 버튼을 눌렀을 때 정렬을 업데이트하는 기능을 구현하려면 다음과 같이 코드를 작성할 수 있습니다.
var button = document.querySelector('.sort-button');
button.addEventListener('click', function() {
iso.arrange();
});
위의 코드에서 .sort-button
클래스를 가진 요소를 클릭하면 arrange()
메소드를 이용하여 정렬을 업데이트합니다.
이제 Isotope을 사용하여 동적으로 생성된 요소들을 정렬하는 방법을 알아보았습니다. Isotope 라이브러리의 다양한 옵션과 기능을 더 알고 싶다면 공식 문서를 참고하시기 바랍니다.
참고 문서: