Swiper.jsでテキストをスライドする方法
Swiper.jsでテキストをスライドする方法です。
Swiper(Swiper.js)は、簡単にスライダーが作れるJavaScriptのプラグインです。トップページにスライドショーを実装しているサイトはたくさんありますね。
もう3年くらい前になりますが「お知らせをスライド表示したい」というお客様の要望があり、Swiperを使ってテキストスライダーを作りました。
せっかくなんで、停止ボタン付けて、次へ、前へと、任意にテキストをスライドできるようにしました。他でも使えそうなものになったので、記事にしておきます。
ここでは Swiperを使ってテキストをスライドする方法 を紹介します。
先に動作を確認したい方はデモページをどうぞ。
Swiper.jsでテキストをスライドするデモページはこちら
目次
実行環境
今回は下記の環境で構築しました。
- Bootstrap 4.4.1
- Swiper 4.5.1
後ほど紹介するサンプルでは、レスポンシブ対応されていません。ブラウザの幅が狭い場合にはテキストスライダーが表示されないので注意してください。
Swiperでテキストスライダーを作る
それでは、Swiperでテキストスライダーを作る方法を紹介します。
Swiperの読み込み
まずはSwiperを読み込みます。
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.5.1/css/swiper.min.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/5.2.1/js/swiper.min.js"></script>
枠組みを作る
次に、テキストをスライドする枠組みを作ります。
<section class="text-slider"> <div class="container-md"> <div class="text-slider-inner"> <div class="swiper-container"> <div class="swiper-wrapper"> <div class="swiper-slide"> <a class="news-link" href="【リンク先】"> <time class="news-date" datetime="【日付】>【日付】</time> <span class="news-text">スライドさせるテキスト</span> </a> </div> </div> </div> <div class="pagination-wrap"> <div class="swiper-button-prev swiper-button-white"></div> <div class="stopbtn stop"></div> <div class="swiper-button-next swiper-button-white"></div> </div> </div> </div> </section>
「class="swiper-slide"」を複数作れば、あとは勝手にSwiperがスライドしてくれます。
補足として、リンク先、日付、スライドさせるテキストを任意のものに変更します。
Swiperの動作を記述する
Swiperの動作をコードにします。
var textSwiper = new Swiper ('.text-slider .swiper-container', { slidesPerView: 1, loop: true, speed: 1000, autoplay: { delay: 3000, }, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', } });
speed、delayは、任意に書き換えてください。
停止・開始の動作を記述する
最後に、停止と開始の動作を記述します。
$(window).on('load', function() { $('.stopbtn').on('click', function() { var _class = $(this).attr('class'); if (_class == 'stopbtn stop') { $(this).addClass('start').removeClass('stop'); textSwiper.autoplay.stop(); } else { $(this).addClass('stop').removeClass('start'); textSwiper.autoplay.start(); } }); });
以上でコードの記述はおしまいです。
サンプル
「Swiper.jsでテキストをスライドするサンプルはこちら」に用意しているので参考にどうぞ。
コードは自由に使ってもらってOKです。ただし、自己責任でお願いします。
レスポンシブ対応はしていません。スマホでは非表示になります。
まとめ
Swiperを使ってテキストをスライドする方法を紹介しました。
Swiperってめちゃくちゃ便利ですよね。ライブラリにとらわれないプラグインってのも魅力です。
皆さんも試してみてください。
おつかれさまでした。