<div clas…"> swiper.jsのオプションdirectionにverticalを指定して縦方向のスライダーを実装 | BLOG|ホームページ制作 Brick Plan【ブリックプラン】

2020.10.17

JavaScript

swiper.jsのオプションdirectionにverticalを指定して縦方向のスライダーを実装

デモページはこちら

swiper.jsのオプションdirectionにverticalを指定して、縦方向のスライダーを実装します。htmlのコードは以下の通りです。

<div class="container">
	<div class="swiper-container c-slider-container js-slider">
		<ul class="swiper-wrapper">
			<li class="swiper-slide c-slider-item">
				<figure class="c-slider-item-photo">
					<span class="c-photo-bg" style="background-image:url(images/swiper01.jpg)"></span>
				</figure>
			</li>
			<li class="swiper-slide c-slider-item">
				<figure class="c-slider-item-photo">
					<span class="c-photo-bg" style="background-image:url(images/swiper02.jpg)"></span>
				</figure>
			</li>
			<li class="swiper-slide c-slider-item">
				<figure class="c-slider-item-photo">
					<span class="c-photo-bg" style="background-image:url(images/swiper03.jpg)"></span>
				</figure>
			</li>
			<li class="swiper-slide c-slider-item">
				<figure class="c-slider-item-photo">
					<span class="c-photo-bg" style="background-image:url(images/swiper04.jpg)"></span>
				</figure>
			</li>
			<li class="swiper-slide c-slider-item">
				<figure class="c-slider-item-photo">
					<span class="c-photo-bg" style="background-image:url(images/swiper05.jpg)"></span>
				</figure>
			</li>
		</ul>
	</div>
</div>

CSSのコードです。swiperで縦方向のスライダーを実装する場合、クラス名swiper-containerのdivタグにheightの指定は必須です。クラス名swiper-slide-activeは、クラス名swiper-slideのliタグの中でアクティブなスライドに付与されます。

.container {
	width: 300px;
	height: 400px;
	margin: 0 auto;
}
.c-slider-container {
	height: 100%;
}
.c-slider-item {
	cursor: pointer;
}
.c-slider-item-photo {
	display: block;
}
.c-slider-item-photo:before {
	position: absolute;
	z-index: 2;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: 'Parisienne', cursive;
	font-size: 1.9rem;
	font-weight: 400;
	line-height: 0;
	color: #fff;
	word-break: break-all;
	content: attr(data-index);
}
.swiper-slide-active .c-slider-item-photo:before {
	color: #573807;
}
.c-slider-item-photo:after {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(87, 56, 7, 0.5);
	content: '';
	transition: background 1s cubic-bezier(0.175, 0.885, 0.32, 1);
}
.swiper-slide-active .c-slider-item-photo:after {
	background: rgba(255, 255, 255, 0.4);
}
@media screen and (min-width: 1199px) {
	.c-slider-item-photo:hover:after {
		background: rgba(255, 255, 255, 0.4);
	}
}
.c-photo-bg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-position: center;
	background-size: cover;
}

スライド上の連番はjQueryで実装しています。カスタムデータ属性data-indexに連番を設定して、CSSの疑似要素で表示しています。
swiperはオプションでdirection: 'vertical'を指定して縦方向のスクロールにします。初期値は横方向の'horizontal'です。またコントローラーは設定せず、slideToClickedSlide: trueを指定してクリックでアクティブなスライドを切り替えます。

var slider_count = 0;
$('.c-slider-item').each(function(){
	slider_count++;
	if(slider_count < 10){
		$(this).find('.c-slider-item-photo').attr('data-index','0' + slider_count);
	}else{
		$(this).find('.c-slider-item-photo').attr('data-index',slider_count);
	}
});

var swiper01 = new Swiper('.js-slider', {
	loop: true,
	direction: 'vertical',
	slidesPerView: 2,
	spaceBetween: 10,
	allowTouchMove: false,
	slideToClickedSlide: true,
});

関連記事

2020.10.17

JavaScript

swiper.jsのオプションslidesPerViewにautoを指定して独自で横幅設定

デモページはこちら swiper.jsのオプションslidesPerViewにautoを指定して、独自で横幅を設定します。htmlのコードは以下の通りです。ナビ…

2020.10.18

JavaScript

swiper.jsで連動する2つのスライダーを実装

デモページはこちら swiper.jsで連動する2つのスライダーを実装します。メインのスライダーはナビゲーションボタンかスワイプでスライドさせ、それに連動して背…

2025.08.10

JavaScript

swiper自動再生の一時停止と再開

デモページはこちら swiper.jsでスライドを自動再生させ、ボタンのクリックで一時停止と再開を切り替えます。htmlのコードは以下の通りです。 JavaSc…

2025.08.08

JavaScript

swiperの完全停止

デモページはこちら swiper.jsでスライドを完全に停止させます。一時停止ではなく完全停止です。htmlのコードは以下の通りです。 JavaScriptのコ…

2020.10.16

JavaScript

swiper.jsのオプションbreakpointsで表示スライド数を切り替え

デモページはこちら swiper.jsのオプションbreakpointsで表示スライド数を切り替えます。 htmlのコードは以下の通りです。クラス名swiper…

上に戻る