slickを使ってスライダーを作ってみた。
slickの利用
slickはスライダーのプラグインで、公式サイトからダウンロードできます。
以下のファイルが必須
- slick.css
- slick-theme.css
- slick.min.js
- fontsフォルダ
今回はslickの練習としていろいろやってみた。
仕様
調べた中で、できそうなことはとりあえずやってみよう
HTML & CSS
<!DOCTYPE html><htmllang="ja"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"><title>SlideBanner</title><linkrel="stylesheet"href="slick.css"/><linkrel="stylesheet"href="slick-theme.css"><linkrel="stylesheet"href="test.css"><script src="jquery-3.5.1.min.js"></script></head><body><h2class="slide_title">slickのスライドショー</h2><ulclass="slide_show"><li><imgclass="slide_img"src="#"></li><li><imgclass="slide_img"src="#"></li><li><imgclass="slide_img"src="#"></li><li><imgclass="slide_img"src="#"></li><li><imgclass="slide_img"src="#"></li></ul><ulclass="thumb"><li><imgclass="thumb_img"src="#"></li><li><imgclass="thumb_img"src="#"></li><li><imgclass="thumb_img"src="#"></li><li><imgclass="thumb_img"src="#"></li><li><imgclass="thumb_img"src="#"></li></ul><pclass="slide_text">4秒ごとに自動でスライドします。</p><pclass="slide_text">左右の矢印を押下でスライドさせることができます。</p><script type="text/javascript"src="slick.min.js"></script><script type="text/javascript"src="test.js"charset="UTF-8"></script></body></html>
body{margin:0px;padding:075px;background-color:black;}h2,p{color:white;}.slide_show{width:100%;}ul{padding:0px;}li{list-style:none;}.slide_img{width:100%;height:45vw;object-fit:cover;}.thumb_img{height:20vw;}.slick-prev::before,.slick-next::before{color:#ffff66;}.slick-dotsli.slick-activebutton:before,.slick-dotslibutton:before{color:#ffff66;}@mediascreenand(max-width:400px){body{padding:030px;}h2{font-size:15px;}p{font-size:10px;}.thumbimg{width:100%;}}
スライダーの矢印の色とか、ドットの色とか変えてみた。
.slick-prev::before, .slick-next::before {color: #ffff66;}
.slick-dots li.slick-active button:before, .slick-dots li button:before {color: #ffff66;}
画像が大きいので、メディアクエリもやってみた(ブレークポイント1箇所だけど)
meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no"
@media screen and (max-width: 400px)
JavaScript
$(".slide_show").slick({asNavFor:".thumb",arrows:false,dots:false,centerMode:true,centerPadding:'5%',infinite:true,});$(".thumb").slick({autoplay:true,autoplaySpeed:4000,asNavFor:".slide_show",focusOnSelect:true,infinite:true,slidesToShow:3,slidesToScroll:1,dots:true,})
やってみたこと
初めてのslickだったが、比較的簡単に設定できた。
- スライダーの矢印、ドットの色を変える。(上述)
- センターモードで表示
- centerModeとcenterPaddingを設定
- サムネイル付き
- thumbクラスを作成し、asNavForでslide_showと紐付け
- サムネイルにarrowを付けるため、slide_showのarrowを消す
- focusOnSelectでサムネイルを操作できるようにする
- slidesToShowを設定してサムネイルを作成
- 自動再生
- autoplayとautoplaySpeedを設定
完成
参考記事
レスポンシブ対応するためのCSSの書き方
【jQuery】スライダープラグイン「slick」の使い方を詳しく解説
slickの使い方からカスタマイズまで【スライダープラグイン決定版】
スライドショー(jQueryスライダープラグイン slickを使ってみる)
高さ変更!slickスライダーで画像サイズがバラバラの時の2つの対処法!【jQuery】
使い勝手の良いslick.jsスライダー(レスポンシブ対応)
画像
フリー画像をお借りしました。
雪景色 (lloorraa Pixabay)
オーロラ (Noel_Bauza Pixabay)
朝焼け (DeltaWorks Pixabay)
スタートレイル (Free-Photos Pixabay)
ビーチ (Walkerssk Pixabay)