Я ищу карусель с несколькими строками. Например 3 ряда - 9 шт. Карусель jQuery была бы хороша, но я могу найти карусели только с 1 строкой.
Я хочу эту установку. Это возможно?
Я ищу карусель с несколькими строками. Например 3 ряда - 9 шт. Карусель jQuery была бы хороша, но я могу найти карусели только с 1 строкой.
Я хочу эту установку. Это возможно?
Недавно я столкнулся с этой проблемой и хотел использовать Slick.js, потому что у него масса других возможностей. Он устанавливает каждое изображение (установленное внутри div) как «слайд», и вы можете выбрать, сколько слайдов вы хотите отображать одновременно.
Чтобы создать несколько строк с помощью Slick.js, вы вкладываете элементы div, содержащие изображения, в другой элемент div, который slick воспринимает как один слайд. Затем вы перемещаете дочерние элементы div, чтобы создать сетку изображений. Есть много способов сделать это — я также использовал разрывы строк с помощью 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>