複数の行があるカルーセルを探しています。たとえば、3行-9アイテム。 jQueryカルーセルはNiceですが、1行のカルーセルしか見つかりません。
この設定が必要です。これは可能ですか?
私は最近この問題に遭遇し、他にもたくさんの機能があるので Slick.js を使いたいと思いました。各画像(div内に設定)を「スライド」として設定し、一度に表示するスライドの数を選択できます。
Slick.jsで複数の行を作成するには、画像を含むdivを別のdivにネストします。このdivは、slickが1つのスライドとして表示します。次に、子divをフロートさせて、画像のグリッドを作成します。これを行うには多くの方法があります。また、画像を新しい行に分割するために「clear:both」CSSを設定した改行を使用しました。
2x2グリッドに関連するコードは次のとおりです。
HTML
<div class="slider">
<!-- This will be considered one slide -->
<div>
<div class="grandchild">
<img src="" />
</div>
<div class="grandchild">
<img src="" />
</div>
<br class="clearboth">
<div class="grandchild">
<img src="" />
</div>
<div class="grandchild">
<img src="" />
</div>
</div>
<!-- The second slide -->
<div>
<div class="grandchild">
<img src="" />
</div>
...
</div>
</div>
CSS
.grandchild {
float: left;
}
.clearboth {
clear: both;
}
JS
$(document).ready(function() {
$('.slider').slick({
slidesToShow: 1,
slidesToScroll: 1
});
});
Slickにはrowsというパラメータがあります。これは、次のように役立ちます。
$('.b-grid-item').slick({
infinite: true,
slidesToShow: 5,
slidesToScroll: 5,
rows: 3
});
これにより、5列3行のグリッドが生成されます。これで唯一の障害。アイテムは上から下に流れるので、最初の行には1、4、7、...の順序があります。
そのためには、各スライダーアイテムが独自のグリッドである必要があります。
例えば:
<div class="slider">
<div class="item">
<ul class="grid">
<li></li>
<li></li>
<li></li>
…
</ul>
</div>
<div class="item">
<ul class="grid">
…
</div>