フロントの人の雑多メモ

【bxSlider】中央のスライドを大きくする方法

【bxSlider】中央のスライドを大きくする方法

jQueryのスライダープラグイン「bxSlider」で中央のスライドだけ大きく方法をご紹介します。

サンプル

真ん中のスライドだけ大きくなっています。

HTML

HTMLはこんな感じ。
左右のスライドをチラ見せするため、#bxsliderを更に#bx-wrapperで囲っています。

<div id="bx-wrapper">
	<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>
</div>

CSS

CSSはこんな感じ。
前半は、左右のスライドをチラ見せするための記述
後半は中央のスライドを大きくするための記述です。

/* 左右のスライドをチラ見せするための記述 */
#bx-wrapper {
	overflow: hidden;
}
.bx-wrapper {
	max-width: 640px!important;
	margin-left: auto;
	margin-right: auto;
	background: none;
	border: none;
	box-shadow: none;
}
.bx-viewport {
	overflow: visible!important;
}

/* 中央のスライドを大きくするための記述 */
#bxslider .slide img {
	display: block;
	transition: transform 0.3s;
}
#bxslider .slide:not(.active-slide) img {
	transform: scale(0.8);
}

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になり
アクティブなスライドだけCSS transformにより、大きくなります。

<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>

コメント

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

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

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

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

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

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

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

OFUSEで応援を送る


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

Amazon

楽天市場

Yahoo!ショッピング

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

シェア

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

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

OFUSEで応援を送る