本文へスキップ

TOP / MOTION LAB / ギャラリー

ギャラリー 読了目安 4分

フィルターグリッド

概要

色タグのチェックボックスで絞り込むと、該当アイテムだけが残り、グリッドが詰め直される様子がアニメーションする、ポートフォリオや商品一覧向けのフィルタリングUI。

使用技術

実装ポイント

コアスニペット

// 1. 現在の状態を保存
const state = Flip.getState(items);
// 2. フィルタリング(一致は flex、残りは none)
items.forEach(item => {
  const isMatch = activeIds.some(id => item.classList.contains(id));
  item.style.display = isMatch ? "flex" : "none";
});
// 3. Flipアニメーションの実行
Flip.from(state, {
  duration: 0.4, ease: "power2.inOut",
  absolute: true, scale: true,
  onEnter: elements => gsap.fromTo(elements, {opacity: 0, scale: 0.9}, {opacity: 1, scale: 1, duration: 0.4}),
  onLeave: elements => gsap.to(elements, {opacity: 0, scale: 0.9, duration: 0.3}),
});