jQueryを使ったスライドショー下のボタンの作り方

プログラミング
Photo by John Hoang on Unsplash

シュテル(@sterchannel2020)です!

jQueryを使ってスライドショー下によくあるボタンを実装したいんだけどどうすればいいんだろ…

スライドショーの下によくあるボタン。見たい画像を表示させられるボタンですね。

スライドショーには必須の機能ですので、スラスラ実装できるようになっておきたいですね。

この記事ではjQueryを使って自作していきます。

スライドショーの仕組み

意外とシンプルな目の錯覚

全ての画像をdisplay:none;で消しておいて、activeというクラスが付いた画像だけをdisplay:block;して表示させる

というのが基本的な仕組みです。

言い換えると

「activeというクラスの付け外し=画像の表示/非表示」

になっているということです。

よくみかけるスライド下のボタン

スライドの下部にあるボタンをクリックすると、

表示中の画像からactiveクラスを外し、該当する画像にactiveクラスをつける

という動作がおこなわれて、その結果別の画像が表示されるわけです。

indexメソッドを知ろう

indexメソッドとは、指定した要素のindex番号を取得できます。

たとえば…

$(‘li’).index($(‘.active’));

だと、「li」要素の中の「.active」要素のindex番号を取得できます。

これと「this要素」をつかって、

「今クリックした要素のindex番号」を取得することもできるんです。

スライドショーの動作に使える気配がしますね。

eqメソッドを知ろう

eqメソッドとは、

jQueryオブジェクトの中からeqの引数の数字と同じindex番号の要素を取得できます。

たとえば…

$(‘li’).eq(2).css(‘color’,’red’);

だと、$(‘li’)の中のindex番号が「2」のjQueryオブジェクト(3個目のli要素)を取得して赤にすることができます。

(番号が0から始まることに注意!)

スライドショーにおいては、

「eqメソッドで取得したindex番号を持つ要素にactiveクラスを付けてあげて、その結果、画像を表示させることができる」

という感じです。

スライド下のボタンを完成させよう

  1. クリックイベントをつくる
  2. いまactiveが付いている要素からactiveをはずす(removeClassメソッド)
  3. クリックした要素のindex番号を取得して変数に入れる(var変数名/indexメソッド/this)
  4. 変数に入っているindex番号に対応した要素に対してactiveをつける(eqメソッド/addClass)

この流れで書いていくとスライドショー下のボタンは完成です!

タイトルとURLをコピーしました