【发布时间】:2021-01-07 14:07:36
【问题描述】:
我想要一个slick carousel,在某些位置,它显示 3 张幻灯片,而在其他位置,它显示 1 张幻灯片。这是我尝试过的:
$(".carousel").slick({
// IMPORTANT
variableWidth: true,
// not so important
dots: true,
appendArrows: $(".carousel-arrows"),
nextArrow: "<button>Next</button>",
prevArrow: "<button>Previous</button>"
});
$(".wanted-behavior").click(function() {
$(".carousel").slick("slickGoTo", 0, true);
setTimeout(function() {$(".carousel").slick("slickPrev");}, 500)
setTimeout(function() {$(".carousel").slick("slickNext");}, 2000)
});
$(".unwanted-behavior").click(function() {
$(".carousel").slick("slickGoTo", 1, true);
setTimeout(function() {$(".carousel").slick("slickNext");}, 500)
setTimeout(function() {$(".carousel").slick("slickNext");}, 1500)
setTimeout(function() {$(".carousel").slick("slickNext");}, 2500)
setTimeout(function() {$(".carousel").slick("slickPrev");}, 4000)
});
/* IMPORTANT */
.carousel-img {
width: 33vw!important;
}
.carousel-img-big {
width: 100vw!important;
}
/* not so important */
.carousel-img img,
.carousel-img-big img {
width: 100%;
object-fit: cover;
height: 200px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.min.js" integrity="sha512-HGOnQO9+SP1V92SrtZfjqxxtLmVzqZpjFFekvzZVWoiASSQgSr4cw9Kqd2+l8Llp4Gm0G8GIFJ4ddwZilcdb8A==" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick-theme.min.css">
<div class="carousel-arrows"></div>
<div class="carousel">
<div class="carousel-img"><img src="https://picsum.photos/200"></div>
<div class="carousel-img"><img src="https://picsum.photos/201"></div>
<div class="carousel-img"><img src="https://picsum.photos/202"></div>
<div class="carousel-img"><img src="https://picsum.photos/203"></div>
<div class="carousel-img-big"><img src="https://picsum.photos/204"></div>
</div>
<button class="wanted-behavior" type="button">Wanted Behaviour</button>
<button class="unwanted-behavior" type="button">Unwanted Behaviour</button>
这只是使用光滑轮播的variableWidth选项,其中幻灯片设置为33vw,一个设置为100vw。
问题在于,轮播的某些位置只显示了我不想要的大 (100vw) 幻灯片的一小部分。屏幕上应该有 3 张幻灯片或一张大幻灯片。我添加了按钮来显示它的想要和不需要的行为。
所以一般来说,我的问题是:
“我怎样才能拥有slick carousel,不同位置显示不同数量的幻灯片?”
也许有一些与我上面尝试过的完全不同的方法有效,这正是我尝试过的。
感谢您的任何反馈!
【问题讨论】:
标签: javascript jquery css slick.js