1
/
5

【Swiper】サムネイルのマウスホバーとスライダーを連動させてみた


さて今回は、メインのスライダーとサムネイルがあるデザインで、

サムネイルをホバーするとメインのスライドが切り替わるようにします。

swiperのメソッドを使用してシンプルに実装できるので、是非使ってみてください!


基本の連動するスライダーを作成

まずは基本となるスライダーを作成します。

この状態では、クリックで連動します。

thumbsでサムネイルにしたいスライダーのインスタンス名thumbnailSwiperを指定すると、

2つのスライダーが連動するようになります。


thumbs: {
swiper: thumbnailSwiper
}

メインスライダーのコードをサムネイルにしたいスライダーの前に書くと動かないのでご注意ください。


【完成形】ホバーで切り替え

それでは解説です。


slideToで指定

this.thumbnail = document.querySelectorAll('[data-thumbnail]')

this.thumbnail.forEach((trigger, i) => {
trigger.addEventListener('mouseover', () => {

this.slideNumber = i
mainSwiper.slideTo(this.slideNumber)
})
});

slideToは、指定したインデックス番号のスライドへ移動するためのメソッドで、

Swiperに搭載されているメソッドです。


slideTo(index, speed, runCallbacks)

index:スライド番号(最初のスライドの番号は0)
speed:遷移時間(ms)
runCallbacks:推移させる場合true、させない場合はfalse

参考:Swiper API:Methods&Properties


他にもslideNextのように次のスライドへ進むなど、

色々なメソッドやプロパティが用意されています。

(loopを指定している場合はslideToメソッドではズレることがあり、その場合はslideToLoopメソッドを使用すると解消されるようです。)


スマホ・タブレットでの挙動

thumbsでの指定によって、タップでの連動が効いていますので、特にタッチパネル対応を行う必要はありません。


実際のイメージが付きやすいように

イメージしやすいようにエフェクトを追加したデモを用意しました🙌


おまけ

左側のみ余白があるスライダーのデザイン、よく見かけるのですが

意外と詰まるところなので、シンプルな方法を備忘録として残します。


.swiperにpadding-leftを指定します。

loopを指定している場合は、padding-rightを解除します。

※padding-rightを指定すると、右側のみ一瞬真っ白になります。


最後に

今回はSwiperを扱いましたが、いかがでしたでしょうか?

Swiperには沢山のオプションがあるので、今後も色々なスライダーに挑戦していきます💪


ところで

ロジカルスタジオでは、フロントエンドエンジニアを募集しております!

下記リンクからお待ちしております!


フロントエンドエンジニア
チームと共にプロジェクトを成功へ導くテクニカルディレクターを募集!!
ロジカルスタジオは、テクノロジーとデザインの視点からクライアントの課題解決をめざす、大阪のクリエイティブプロダクションです。 クライアントの期待を超えて「もっと良くなる、を見つける」のが私たちのスタイル。企画・提案からデザイン制作・システム構築、運用、改善提案をワンストップで行えるのが一番の強みです。近年ではその実績と品質が評価され、案件も急増しています。 代表の古川が掲げる企業理念は「絆を大切に、周りの人を豊かにし、社会に貢献する」。 私たちはこのミッションを推進するため、「新しい技術へのチャレンジ精神」を軸に、「切磋琢磨する仲間」と「働きやすい職場環境」を整え、「成長と可能性を大切にする風土」を育ててきました。 2019年9月に増床し、外部向けのセミナーにも活用できるカンファレンスルームを拡充。スタッフによる公式ブログや、マスコットキャラクター「ロージー&カール」によるTwitterなど、情報発信も強化しています。 可能性の芽をすくい上げられるこの場所を、より大きくしていきたい。 私たちと一緒に、このビジョンを実現しませんか。
株式会社ロジカルスタジオ



株式会社ロジカルスタジオ's job postings
6 Likes
6 Likes

Weekly ranking

Show other rankings
Invitation from 株式会社ロジカルスタジオ
If this story triggered your interest, have a chat with the team?