フロントの人の雑多メモ

【bxSlider】アクティブなスライドを取得する方法

【bxSlider】アクティブなスライドを取得する方法

jQueryのスライダープラグイン「bxSlider」で現在アクティブなスライドを取得する方法をご紹介します。

サンプル

アクティブなスライドのみ、カラーにしています。

HTML

HTMLはこんな感じ。

<div id="bxslider">
	<div class="slide"><img src="img01.jpg"></div>
	<div class="slide"><img src="img02.jpg"></div>
	<div class="slide"><img src="img03.jpg"></div>
	<div class="slide"><img src="img04.jpg"></div>
</div>

JS

bxSlider実行時、「onSliderLoad」と「onSlideAfter」というコールバックを使って、アクティブなスライドに「active-slide」クラスを付与します。

$(function(){
	$("#bxslider").bxSlider({
		auto: true,
		touchEnabled:false,
		onSliderLoad: function(currentIndex){
			//スライド読込み時、アクティブなスライドにクラス付与
			$("#bxslider .slide:not(.bx-clone)").eq(currentIndex).addClass("active-slide");
		},
		onSlideAfter: function($slideElement){
			//スライド後、アクティブなスライドにクラス付与
			$("#bxslider .slide").removeClass("active-slide");
			$slideElement.addClass("active-slide");
		}
	});
});

公式ドキュメント はこちら

例えば2枚目がアクティブなとき、およそこのようなHTMLになります。

<div id="bxslider">
	<div class="slide"><img src="/slickthumb/img/img01.jpg"></div>
	<div class="slide active-slide"><img src="/slickthumb/img/img02.jpg"></div>
	<div class="slide"><img src="/slickthumb/img/img03.jpg"></div>
	<div class="slide"><img src="/slickthumb/img/img04.jpg"></div>
</div>

あとはご自由に...ですが、例えばサンプルのやつだと

CSSをこのようにすれば、アクティブなスライドだけカラーにできます。

#bxslider .slide:not(.active-slide) {
	filter: grayscale(1);
}

コメント

「できました!」などの報告もお待ちしております。

内容を確認の上、個人情報などは省いて掲載させていただきます。

お名前・メールアドレスも入力する

メールで返信がほしい場合に入力してください。

頂いた個人情報は開示しません。返信のためだけに利用いたします。

直接送信されます。確認の上、「送信」してください。

お役に立てましたら応援をお待ちしております!
頂いた応援は子育てに活用させていただきます。

OFUSEで応援を送る


または以下のボタンからなにか買って応援 (PR)

Amazon

楽天市場

Yahoo!ショッピング

Amazonのアソシエイトとして「けん」は適格販売により収入を得ています。

シェア

Twitterでシェア Facebookでシェア LINEでシェア はてなブックマークでシェア

お役に立てましたら応援をお待ちしております!
頂いた応援は子育てに活用させていただきます。

OFUSEで応援を送る