responsive
更新日: 2019-12-19
ブレイクポイントと設定オブジェクトが含まれたオブジェクトの配列を指定します。(詳しくは指定例を見てください) 指定したbreakpoint
で設定が有効になります。 ブレイクポイントでslickを無効にするには、 settings
にオブジェクトではなくunslick
を指定します。
- 初期値 :
null
- type :
array
$('.slider').slick({
responsive: [{
...
}],
});
オブジェクトの指定例
レスポンシブオプションとその値はとてもユニークで強力です。 以下のように指定することができます。
$(".slider").slick({
// 通常オプション...
infinite: false,
// the magic
responsive: [{
breakpoint: 1024,
settings: {
slidesToShow: 3,
infinite: true
}
}, {
breakpoint: 600,
settings: {
slidesToShow: 2,
dots: true
}
}, {
breakpoint: 300,
settings: "unslick" // slickを削除
}]
});
デモ
各ボタンを押すと幅に併せてスライド数が変わります。
(このデモではウィンドウ幅ではなく、スライダの幅でブレイクポイントを判定しています。)
1
2
3
4
5
6
7
8
9
600px
450px
300px
JavaScript
$(document).ready(function(){
$('.slider').slick({
respondTo: 'slider',
slidesToShow: 5,
responsive: [{
breakpoint: 640,
settings: {
slidesToShow: 5
}
}, {
breakpoint: 480,
settings: {
arrows: false,
slidesToShow: 3
}
}, {
breakpoint: 320,
settings: {
arrows: false,
slidesToShow: 1
}
}]
});
$('.js-600').on('click', function() {
$('.slider').css('width', '600px');
$('.slider').slick('slickSetOption', {}, true);
});
$('.js-450').on('click', function() {
$('.slider').css('width', '450px');
$('.slider').slick('slickSetOption', {}, true);
});
$('.js-300').on('click', function() {
$('.slider').css('width', '300px');
$('.slider').slick('slickSetOption', {}, true);
});
});
HTML
<div class="slider">
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
<p>8</p>
<p>9</p>
</div>
<div class="buttons">
<div class="button js-600">600px</div>
<div class="button js-450">450px</div>
<div class="button js-300">300px</div>
</div>
CSS
.slick-prev:before,
.slick-next:before {
color: #000 !important;
}
.slider p {
font-size: 2rem;
font-weight: bold;
line-height: 100px;
color: #666;
margin: 10px;
text-align: center;
background-color: #e0e0e0;
}
.buttons {
display: flex;
justify-content: center;
}
.buttons .button {
margin: 8px;
border: 1px solid #000;
color: #000;
padding: 8px;
text-align: center;
width: 8em;
transition: all 300ms ease;
}
.buttons .button:hover {
cursor: pointer;
background-color: #000;
color: #fff;
transition: all 300ms ease;
}
© 2017 Ken Wheeler Licensed under the MIT license
このコンテンツはKen Wheeler(kenwheeler)によるslickドキュメントを翻訳/改変したものです。