slickのダウンロードと準備

ダウンロードはGitHubから。
ここでは現時点の最新バージョンである、slick 1.6を使用します。

kenwheeler/slick

ダウンロードしたファイルの「slick.css」「slick-theme.css」「slick.min.js」を読み込みます。
slickではその他、アイコンフォントと「ajax-loader.gif」を画像としてCSSから読み込まれています。

html

<link rel="stylesheet" type="text/css" href="slick.css"/>
<link rel="stylesheet" type="text/css" href="slick-theme.css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script type="text/javascript" src="slick.min.js"></script>
    

簡単な使い方

HTMLの方はimgをリストで並べるだけです。

HTML

<ul id="slider">
    <li><img src="img/01.jpg"></li>
    <li><img src="img/02.jpg"></li>
    <li><img src="img/03.jpg"></li>
    <li><img src="img/04.jpg"></li>
</ul>
    

jQueryの指定はHTMLで指定したidに対してslickを実行するだけです。

JavaScript

<script type="text/javascript">
;(function($) {
    $(function() {
        $('#slider').slick();
    });
})(jQuery);
</script>
    

場合によってはCSSを追記します。
幅を指定してセンター配置する場合はこのようになります。

#slider {
    width: 800px;
    margin: 30px auto;
}
#slider img {
    width: 100%;
}
    

画面いっぱいに表示してレスポンシブ対応したスライダー

次は簡単なオプションを設定して、画像を画面いっぱいに表示してみましょう。

JavaScript

$('#slider').slick({
    autoplay: true,      // 自動で切り替える
    autoplaySpeed: 2000, // 待機する時間
    arrows: false,       // 次へ・戻るボタンを非表示
    dots: true           // 点のペジャーナビゲーション
});
    

CSSで幅を100%に変更します。

#slider {
    width: 100%;
    margin: 0 auto;
}
#slider img {
    width: 100%;
}
    

少しだけ前後の画像を表示させる

オプションでcenterModeを有効にするだけで前後の画像を少しだけ表示したりできます。

JavaScript

$('#slider').slick({
    autoplay: true,
    autoplaySpeed: 2000,
    arrows: false,
    dots: true,
    centerMode: true,
    slidesToShow: 1,
    centerPadding: '200px'
});
    

ページナビゲーションをサムネイルにする

ドット表示だったページナビゲーションをサムネイルに変えてみます。
HTMLにナビゲーション部分のリストを追記しましょう。

<ul id="slider-nav">
    <li><img src="img/s01.jpg"></li>
    <li><img src="img/s02.jpg"></li>
    <li><img src="img/s03.jpg"></li>
    <li><img src="img/s04.jpg"></li>
</ul>
    

JSのオプションでは本体の方に「asNavFor」でナビゲーションを、ナビゲーションの方は「asNavFor」で本体を指定します。

JavaScript

$('#slider').slick({
    autoplay: true,
    autoplaySpeed: 2000,
    arrows: false,
    asNavFor: '#slider-nav'
});
$('#slider-nav').slick({
    asNavFor: '#slider',
    slidesToShow: 4,
    focusOnSelect: true
});

ページナビゲーションにマウスオーバーで切り替える

デフォルトではナビゲーションをクリックすると切り替わるようになっています。
これをマウスオーバーで切り替え、クリックではリンクを設定して画面遷移という動作にしみます。

ナビゲーションにaタグを追記します。

<ul id="slider-nav">
    <li><a href="index.html"><img src="../img/01.jpg"></a></li>
    <li><a href="index.html"><img src="../img/02.jpg"></a></li>
    <li><a href="index.html"><img src="../img/03.jpg"></a></li>
    <li><a href="index.html"><img src="../img/04.jpg"></a></li>
</ul>
    

JSではマウスオーバーした時に制御するコードを追記します。

JavaScript

$('#slider-nav li').on('mouseover', function(e) {
    var $currTarget = $(e.currentTarget),
    index = $currTarget.data('slick-index'),
    slickObj = $('#slider').slick('getSlick');
    slickObj.slickGoTo(index, true);    // アニメーション中でも切り替える
    $slide.slick('slickPause');     // 自動切り替え停止
})
.on('mouseout', function(e) {
    $slide.slick('slickPlay');  // 自動切り替え再開
});
    
javascript – Slick Slider binding hover event – Stack Overflow