スライダーを実装するためのライブラリには様々なものがありますが、今回は、簡単にレスポンシブ表示のできる人気のプラグイン「slick」を使ったスライダーの実装をご紹介します。
まずは以下のURLへ行き、「get it now」→「Download Now」をクリックして、slickをローカルにダウンロードしていきます。(cdnでも可)
https : //kenwheeler.github.io/slick/
ダウンロードしたフォルダーから「slick」という名前のフォルダを、表示させたいhtmlファイルが入ったフォルダに移動させます。

次にhtmlファイルを変更していきます。
<html>
<head>
<title>Responsive Slider</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="slick/slick.css"/>
<link rel="stylesheet" type="text/css" href="slick/slick-theme.css"/>
</head>
<body>
<section class="next slider">
<div><img src="img/sample1.png"></div>
<div><img src="img/sample2.png"></div>
<div><img src="img/sample3.png"></div>
<div><img src="img/sample4.png"></div>
<div><img src="img/sample5.png"></div>
<div><img src="img/sample6.png"></div>
</section>
<script src="https : //code.jquery.com/jquery-2.2.0.min.js" type="text/javascript"></script>
<script type="text/javascript" src="slick/slick.min.js"></script>
</body>
</html>
<style>
html, body {
margin : 0;
padding : 0;
}
* {
box-sizing : border-box;
}
.slider {
width : 50%;
margin : 100px auto;
}
.slick-slide {
margin : 0px 20px;
height : auto;
}
.slick-slide img {
width : 100%;
}
.slick-prev : before,
.slick-next : before {
color : black;
}
.slick-slide {
transition : all ease-in-out .3s;
opacity : .2;
}
.slick-active {
opacity : .5;
}
.slick-current {
opacity : 1;
}
</style>
これでslickの設定は完了です。ヘッダーの中で、先ほどダウンロードしたslickフォルダの中のCSSコードとリンクさせ、bodyタグの直前で、jQueryを読み込み、JSコードとリンクさせています。
スライダーに画像を使う場合はimgタグを並べ、その他の場合はdivタグなどを並べ、任意のクラスを指定した箱を作ります。(sectionでなくても構いません)
styleタグで囲んだCSSコードはなくても構いませんが、スライダーに指定する画像サイズによっては、レスポンシブの表示が崩れることがあるので、
.slick-slide {
height : auto;
}
は設定しておきましょう。
次に、実際にslickを使ってスライダーを表示させるために、bodyタグの直前に次のjsコードを挿入します。
<script type="text/javascript">
$(document).on('ready', function() {
$('.next').slick({
slidesToShow : 1,
slidesToScroll : 1,
dots : true,
centerMode : true,
focusOnSelect : true
});
});
</script>
スライダーに使用する画像が入ったタグに指定したクラス名(ここではnext)をJS内で呼び出し、スライダーの表示に関わる設定をしています。
また、スライダーの主な設定項目は以下のようになっています。
| dots : true/false | ドットのナビを表示/非表示 |
|---|---|
| slidesToShow : 1 | 表示スライド数 |
| autoplay : true/false | スライドの自動再生 |
| autoplaySpeed : 2000 | 自動再生の速さ(ms) |
| arrows : true/false | 矢印のナビを表示/非表示 |
| speed : 300 | スライドの速さ(ms) |
| infinite : true/false | 最後のスライドの次に最初のスライドを表示する/最後のスライダーでスライドを止める |
| fade : true/false | スライドのフェード表示 |
| centerMode : true/false | 前後のスライドの表示 |
先ほどのJSコードで作成したスライダーは次のようなものになります。
また、このJSコードを改変するだけで、様々なスライダーを作成することが可能になります。
いくつか、サンプルもご紹介しておきます。
サンプル1(autoplay)
JSコード
<script type="text/javascript">
$(document).on('ready', function() {
$('.autoplay').slick({
slidesToShow : 3,
slidesToScroll : 1,
autoplay : true,
autoplaySpeed : 2000,
});
});
</script>
サンプル2(slider-for & nav)
JSコード
<script type="text/javascript">
$(document).on('ready', function() {
$('.slider-for').slick({
slidesToShow : 1,
slidesToScroll : 1,
arrows : false,
fade : true,
asNavFor : '.slider-nav'
});
$('.slider-nav').slick({
slidesToShow : 3,
slidesToScroll : 1,
asNavFor : '.slider-for',
dots : true,
centerMode : true,
focusOnSelect : true
});
});
</script>
サンプル3(one-time)
JSコード
<script type="text/javascript">
$(document).on('ready', function() {
$('.one-time').slick({
dots : true,
infinite : true,
speed : 300,
slidesToShow : 1,
adaptiveHeight : true
});
});
</script>
サンプル4(fade)
JSコード
<script type="text/javascript">
$(document).on('ready', function() {
$('.fade').slick({
dots : true,
infinite : true,
speed : 500,
fade : true,
cssEase : 'linear'
});
});
</script>
サンプル5(vertical-center)
JSコード
<script type="text/javascript">
$(document).on('ready', function() {
$(".vertical-center").slick({
dots : true,
vertical : true,
centerMode : true,
});
});
</script>
ぜひこれらのサンプルも参考にしつつ、サイトにあったスライダーを作ってみてください。





