これなら簡単!フリック操作に対応したスライダー・カルーセルを実装できるJavaScriptライブラリ -Flicking
Post on:2021年5月31日
フリック操作に対応したスライダー・カルーセルを実装できるJavaScriptライブラリを紹介します。スマホのフリック操作だけでなく、デスクトップのクリックやドラッグ操作にも対応しています。
シンプルなHTMLで簡単に実装でき、Vue、React、Angularもサポート、単体でも動作するJavaScriptです。

Flickingの特徴
Flickingはその名の通り、フリック操作に対応したスライダー・カルーセルを簡単に実装できるJavaScriptライブラリです。新しくなったFlicking 3はフレキシブルで、さまざまな拡張機能を備えており、無限フリック・フリースクロール・スナップ・バウンドをはじめ、異なるサイズのパネル、静止位置のカスタマイズなどもできます。

- 実装が簡単で、高性能なスライダー・カルーセル。
- 3つのオプション(renderOnlyVisible、isEqualsSize、isConstantSize)で、カルーセルのパフォーマンスを向上させることができます。
- スクロールの移動にはさまざまなタイプが揃っています。
- 主要なフレームワーク (Vue、React、Angular) をサポート。
- MITライセンスで、商用プロジェクトでも無料で利用できます。
Flickingのデモ
デモではFlickingのさまざまなフリック(スマホだけでなく、デスクトップのドラッグにも対応)を楽しめます。まずは、シンプルなデモから。
See the Pen
Flicking 3.0 try by egjs (@egjs)
on CodePen.
前述のアニメーションgifのデモ。下記のサイズだとちょっと厳しいので、右上の「Edit on CodePen」をクリックしてご覧ください。
See the Pen
Flicking examples full page by egjs (@egjs)
on CodePen.
デモは他にもたくさん用意されています。


Flickingの使い方
インストール
NPM経由でインストールできます。
1 |
$ npm install --save @egjs/flicking |
外部ファイル
HTMLに当スクリプトを外部ファイルとして記述します。
1 |
<script src="https://cdnjs.cloudflare.com/ajax/libs/egjs-flicking/3.x.x/flicking.js"></script> |
HTML
カルーセルを実装するための最小限のHTMLは、下記の通りです。
パネルにposition: absolute;を使用するため、ラッパーまたはパネルのいずれかの高さの値を固定する必要があります。
1 2 3 4 5 |
<div id="wrapper" style="height: 120px"> <div class="panel"></div> <div class="panel"></div> <div class="panel"></div> </div> |
もしくは
1 2 3 4 5 |
<div id="wrapper"> <div class="panel" style="height: 120px;"></div> <div class="panel"></div> <div class="panel"></div> </div> |
JavaScript
スクリプトを初期化して、実行します。
1 |
var flicking = new eg.Flicking("#el", { circular: true }); |
詳しい実装方法は、ドキュメントをご覧ください。

sponsors