これで簡単に実装できる! カードやパネルをドラッグアンドドロップで移動できるレイアウトに変換するスクリプト -Swapy

数行のコードを記述するだけで、カードやパネルをドラッグアンドドロップで移動できるレイアウトに変換するJavaScriptを紹介します。

他のフレームワークやライブラリへの依存はありません。また、ReactやVueやSvelteなどと一緒に使用することもできます。

カードやパネルをドラッグアンドドロップで移動できるレイアウトに変換するスクリプト -Swapy

Swapy
Swapy -GitHub

Swapyの特徴

Swapyは、フレームワークやライブラリに依存することなく、わずか数行のコードであらゆるレイアウトをドラッグして移動できるレイアウトに変換するためのJavaScriptツールです。

MITライセンスで、個人でも商用でも無料で利用できます。

サイトのキャプチャ

Swapy

Swapyのデモ

Swapyのドラッグできるレイアウトは、下記ページで楽しめます。

サイトのキャプチャ

Swapy

Swapyの使い方

お気に入りのパッケージマネージャーを使用してインストールできます。

また、外部JavaScriptとしてCDN経由で利用できます。

シンプルなレイアウトを例に、使い方を見てみましょう。
まずは、HTMLで3つのコンテンツを用意します。

まずは、ドラッグさせる要素(以下、スロット)にdata-swapy-slot属性を付与し任意の名前を与えます。各スロットには1つのアイテムを含めることができます。

Swapyはデフォルトで、アイテムはどこからでもドラッグ可能です。また、data-swapy-handle属性を持つ要素を追加することで、ハンドルを設定できます(上記ではsection-2に追加)。

これでHTMLの準備は完了したので、JavaScriptを設定します。

スロットとアイテムを含むコンテナ要素を取得し、createSwapy()に渡します。デフォルトではdynamicのアニメーションが適用されます。アニメーションの種類はオプションで変更できます。

スワップイベントをリッスンすることで、新しい順番を保存することもできます。より便利にするために、スワップイベントは新しい順番の3つのバージョン(map, object, array)を返します。

Swapyは、フレームワークと一緒にも使用できます。リポジトリから例を確認してください。

sponsors

top of page

©2024 coliss