[javascript] Isotope에서 아이템들에 대한 글자 애니메이션 효과를 적용하는 방법은 무엇인가요?
- 필요한 HTML 마크업 준비하기:
<div class="grid"> <div class="grid-item">아이템 1</div> <div class="grid-item">아이템 2</div> <div class="grid-item">아이템 3</div> ... </div>
- Isotope 라이브러리와 플러그인 로드하기:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.isotope/3.0.6/isotope.pkgd.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.animateNumber/0.0.14/jquery.animateNumber.min.js"></script>
- CSS 스타일 추가하기:
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; } .grid-item { display: flex; align-items: center; justify-content: center; background-color: #ccc; color: #fff; padding: 20px; font-size: 18px; font-weight: bold; height: 200px; }
- JavaScript 코드 작성하기:
$(document).ready(function() { // Isotope 초기화 var $grid = $(".grid").isotope({ itemSelector: ".grid-item", layoutMode: "fitRows" }); // 아이템들의 글자 애니메이션 효과 적용하기 $(".grid-item").each(function() { var $item = $(this); $item.animateNumber({ number: 0, // 시작 값 numberStep: function(now, tween) { $item.text(Math.floor(now)); // 현재 값 설정 } }, 2000); // 애니메이션 시간 설정 }); });
위의 코드를 사용하면 Isotope 그리드 아이템에 글자 애니메이션 효과를 적용할 수 있습니다. 각 아이템은 숫자로 시작하여 목표 값까지 애니메이션으로 카운트 업되며, 2초 동안 애니메이션이 진행됩니다.
참고 문서: