今回はJavaScriptのスライダーライブラリ「Tiny Slider2」を使って、自動で切り替わるサムネイル付きスライドをWEBサイトに表示する方法をご紹介します。
目次
サムネイル付きスライドの完成イメージ
メインのスライドが自動で切り替わり、それに連動してサムネイルスライドもアクティブな状態が切り替わる仕組みです。
サムネイルをクリックすると、メインスライドも切り替わります。
必要なコード(全体)
まずは、すべてのコードをまとめてご紹介します。
<html>
<head>
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.4/tiny-slider.css"
/>
<style>
.main {
height: 400px;
}
.thumbnail {
height: 100px;
}
.main div,
.thumbnail div {
height: 100%;
}
.slide1 {
background-color: #ff7f7f;
}
.slide2 {
background-color: #ff7fff;
}
.slide3 {
background-color: #7f7fff;
}
.slide4 {
background-color: #7fffff;
}
.slide5 {
background-color: #7fff7f;
}
.slide6 {
background-color: #ffff7f;
}
.thumbnail div {
opacity: 0.5;
}
.thumbnail .tns-nav-active {
opacity: 1;
}
#tns1-ow button[data-action] {
font-size: 11px;
background: transparent;
border: 0;
}
</style>
</head>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.2/min/tiny-slider.js"></script>
<div class="wrap-content">
<div class="main">
<div class="slide1">スライド1</div>
<div class="slide2">スライド2</div>
<div class="slide3">スライド3</div>
<div class="slide4">スライド4</div>
<div class="slide5">スライド5</div>
<div class="slide6">スライド6</div>
</div>
<div class="thumbnail">
<div class="slide1">スライド1</div>
<div class="slide2">スライド2</div>
<div class="slide3">スライド3</div>
<div class="slide4">スライド4</div>
<div class="slide5">スライド5</div>
<div class="slide6">スライド6</div>
</div>
</div>
<script>
document.addEventListener("DOMContentLoaded", function () {
let main = tns({
container: ".main",
items: 1,
autoplay: true,
autoplayTimeout: 4000,
autoplayText: ["[ 再生 ]", "[ 停止 ]"],
controls: false,
navContainer: ".thumbnail",
});
let thumbnail = tns({
container: ".thumbnail",
items: 6,
});
});
</script>
</body>
</html>
各コードの解説
Tiny Slider2を読み込む
CDNを利用してTiny Slider2を読み込みます。
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.4/tiny-slider.css"
/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.9.2/min/tiny-slider.js"></script>
スライドのHTMLを構築する
スライドの基本的なHTMLを構築します。
今回は6枚のスライドとして、メインスライドとサムネイルスライドで同じ内容を用意します。
<div class="wrap-content">
<div class="main">
<div class="slide1">スライド1</div>
<div class="slide2">スライド2</div>
<div class="slide3">スライド3</div>
<div class="slide4">スライド4</div>
<div class="slide5">スライド5</div>
<div class="slide6">スライド6</div>
</div>
<div class="thumbnail">
<div class="slide1">スライド1</div>
<div class="slide2">スライド2</div>
<div class="slide3">スライド3</div>
<div class="slide4">スライド4</div>
<div class="slide5">スライド5</div>
<div class="slide6">スライド6</div>
</div>
</div>
メインスライドとサムネイルスライドを区別するためのクラス(main、thumbnail)とスライド番号を示すクラス(slide1、slide2…)を追加しています。
CSSでスライドのスタイルを設定する
スライドの表示を調整するためのCSSを設定します。
<style>
.main {
height: 400px;
}
.thumbnail {
height: 100px;
}
.main div,
.thumbnail div {
height: 100%;
}
.slide1 {
background-color: #ff7f7f;
}
.slide2 {
background-color: #ff7fff;
}
.slide3 {
background-color: #7f7fff;
}
.slide4 {
background-color: #7fffff;
}
.slide5 {
background-color: #7fff7f;
}
.slide6 {
background-color: #ffff7f;
}
.thumbnail div {
opacity: 0.5;
}
.thumbnail .tns-nav-active {
opacity: 1;
}
#tns1-ow button[data-action] {
font-size: 11px;
background: transparent;
border: 0;
}
</style>
サムネイルスライドは半透明を初期状態として、アクティブになると透過なしで表示されるスタイルを設定しています。
Tiny Slider2では自動再生を設定したスライドに再生・停止ボタンが表示されるので、そのスタイルも設定しています。
その他はサンプル用の配色設定となります。
JavaScriptでTiny Slider2を設定する
Tiny Slider2の機能を有効にするためのJavaScriptを記述します。
<script>
document.addEventListener("DOMContentLoaded", function () {
let main = tns({
container: ".main",
items: 1,
autoplay: true,
autoplayTimeout: 4000,
autoplayText: ["[ 再生 ]", "[ 停止 ]"],
controls: false,
navContainer: ".thumbnail",
});
let thumbnail = tns({
container: ".thumbnail",
items: 6,
});
});
</script>
main
でメインのスライドを4秒ごとに自動で切り替える設定をしています。
スライドの再生ボタンのテキストは日本語として、navContainer
オプションでサムネイルスライドを指定しています。
thumbnail
ではサムネイルスライドを6枚表示で設定しています。
Tiny Slider2以外でサムネイル付きスライドを表示する方法
JavaScriptには他にもスライダーライブラリがあります。
Tiny Slider2以外でサムネイル付きスライドを表示する方法もご紹介しています。
- Slick.jsで自動で切り替わるサムネイル付きスライドを実装する方法
- Swiper.jsで自動で切り替わるサムネイル付きスライドを実装する方法
- Splide.jsで自動で切り替わるサムネイル付きスライドを実装する方法
- Keen-Slider.jsで自動で切り替わるサムネイル付きスライドを実装する方法
サムネイル付きスライドのWEBサイト制作事例
今回のようなサムネイル付きスライドを表示したWEBサイトの制作事例をご紹介します。
まとめ
今回はJavaScriptのスライダーライブラリ「Tiny Slider2」を使って、自動で切り替わるサムネイル付きスライドをWEBサイトに表示する方法をご紹介しました。
navContainer
オプションを活用することで、複雑な設定なしでメインスライドとサムネイルを連動させることができます。
WEBサイトに動きのある要素を取り入れたい方は、ぜひこの方法を試してみてください。
WEBサイトの制作や保守についてお困りのことがあれば、お気軽にご相談ください。