実装したのはかなり前の事なのですが、このライブラリは本当に便利なのでおすすめ!
「Swiper」という、スライダーを簡単に実装できるライブラリで、画像だけでなく要素を表示することもでき、またページネーションやナビゲーションも容易に追加できます。
公式サイトはこちらから。
Swiper – The Most Modern Mobile Touch Slider
https://swiperjs.com/#.WLkGRRLyhTY
なお、今回は React
での実装方法について紹介します。
まず、下記の npm コマンドを使ってライブラリをインストールします。
npm i swiper --save
次に、スライダーを実装したいページで下記のように必要なファイルをインポートしていきます。
私は今回、ページネーションも使いたかったので下記のように指定しています。
import SwiperCore, { Pagination } from 'swiper'; import { Swiper, SwiperSlide } from 'swiper/react'; import 'swiper/swiper.scss'; import 'swiper/components/pagination/pagination.scss'; SwiperCore.use([Pagination]);
あとは、スライダーを表示したい箇所で下記のように指定すればOKです。
<Swiper spaceBetween={0} slidesPerView={1} pagination={{ clickable: true }}> <SwiperSlide> <img src="[表示したい画像のパス]" /> </SwiperSlide> <SwiperSlide> <img src="[表示したい画像のパス]" /> </SwiperSlide> <SwiperSlide> <img src="[表示したい画像のパス]" /> </SwiperSlide> </Swiper>
今回は、画面に要素を1つずつ表示し、要素間のスペースは 0 としています。
上記のサンプルコードでは 2、3行目で指定しているのがそうです。
2行目の spaceBetween
で、要素間の余白を指定できます。
3行目の slidesPerView
では、画面に一度に表示する要素の数を指定できます。
今回は 1 を指定しているので、1枚ずつ画像が表示されていますが、これを例えば 3 にすると、一度に 3枚の画像が画面に表示されます。
また、4行目ではページネーションの指定をしています。
clickable
に true
を指定することで、ページネーションのクリックでスライダーを遷移させることができるようにしています。
そして、スライダーに表示したい画像は <SwiperSlide>
要素で囲って指定します。
なお、この時表示する要素は画像だけでなく、<p>
タグで囲った文字列などでも問題ありません。
また、文字列と画像など、複数の要素を指定しても大丈夫でした。
実装については以上です。
今回は、ページネーションしか追加していませんのでこんな感じのコードになりましたが、他にもスライダーの両端にナビゲーションの矢印を追加したり、スクロールバーを追加したりもできます。
また、画面遷移時のアニメーションを変更したり、ループ表示させたり、自動で次の要素に遷移させたりすることもできます。
また、スライダーの方向を縦方向に変更することもでき、それを使ってスライダーの中にスライダーを追加することもできるようでした。
こんな感じで、かなり色々なことができるライブラリなので、スライダーの実装がしたい場合は、是非導入をご検討ください!
今回は React
で書きましたが、勿論 HTML
と JavaScript
で記述することも可能です!
以上、モダンなスライダーを簡単に実装できるライブラリ「Swiper」のご紹介でした。
ご参考になれば幸いです。