#13
フリップアニメーションのドラッガブルリストUI
UI Design
published
on
note
アイテム要素をドラッグ&ドロップ操作で直感的に並び替えできるリストUIです。単純な並び替え機能に加えて、ドロップ完了時に影響を受ける各要素が滑らかなフリップアニメーションで新しい位置へ移動する様子を視覚的に確認できるのが特徴です。マウス操作とタッチ操作の両方に対応しており、デスクトップとモバイルデバイスの両方で快適に操作できます。
各アイテム要素にマウスイベントとタッチイベントを設定し、ドラッグ操作を検出します。ドラッグ開始時には元の要素と同じサイズのカスタムドラッグゴースト要素を動的に生成し、マウスカーソルやタッチ位置に追従させます。ドロップ位置の検出には座標計算を使用し、リスト内の各要素との位置関係を判定してドロップターゲットを特定します。並び替え処理ではGSAPのFlipプラグインを使用して、位置が変化した要素(ドラッグした要素を除く)に対してアニメーションを適用し、スムーズな移動効果を実現しています。視覚的なフィードバックとして、ドラッグ中の要素は半透明表示にし、ドロップターゲット位置の要素は背景色を変更してユーザーに分かりやすく示します。また、ドラッグ中はカーソルスタイルを変更し、操作状態を明確にしています。
ウェブアプリケーションにおけるタスク管理システム、プレイリストの楽曲順序編集、商品カタログの表示順変更、メニュー項目の並び替えなど、リストデータの順序をユーザーが直感的に編集したい場面で活用できます。従来の上下ボタンによる並び替えと比較して、ドラッグ操作とフリップアニメーションの組み合わせにより、操作の楽しさとUXの向上が期待できます。とくに複数の項目を一度に大きく移動させる場合に、その効果が顕著に現れます。
【使用ライブラリ】 GSAP:Flip