我使用光滑滑块在WordPress中创建了一个图像滑块。我正在使用中心模式我想要一个图像居中,每边一个图像稍微显示。但我遇到了一些问题。首先,当我调整窗口大小时,滑块滑块不会计算新的图像宽度,直到我与滑块交互,这个问题在演示中不存在。其次,每一面的图像都没有显示出来。
https://codepen.io/Reece_Dev/pen/xLQwEb
$('.carousel').slick({
centerMode: true,
centerPadding: '0px',
slidesToShow: 1,
});
#container{
width: 100%;
}
.slick-slide img{
width: 80%;
height: auto;
max-width: 2000px;
}
<script src="//cdn.jsdelivr.net/jquery.slick/1.6.0/slick.min.js"></script>
<link href="//cdn.jsdelivr.net/jquery.slick/1.6.0/slick.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
<div class="carousel">
<div><img src="http://fyberproperty.co.uk/wp-content/uploads/2017/04/stairs_one2200.png"></div>
<div><img src="http://fyberproperty.co.uk/wp-content/uploads/2017/04/stairs_two2200.png"></div>
<div><img src="http://fyberproperty.co.uk/wp-content/uploads/2017/04/stairs_one2200.png"></div>
</div>
</div>
答案 0 :(得分:5)
codepen查找窗口调整大小事件并添加此
$(window).resize(function(){
$('.my-slider')[0].slick.refresh();
});
答案 1 :(得分:4)
光滑的创作者肯·惠勒本人的回答:
$('.slider-class').slick('setPosition');
答案 2 :(得分:0)
在窗口调整大小上运行slick
方法以重新计算图像尺寸。
$(window).on('resize orientationchange', function() {
$('.carousel').slick('resize');
});
答案 3 :(得分:0)
原来我只需要一些css样式并将最新的jQuery添加到wordpress中。如果您遇到同样的问题,请检查我的codepen以查看css
答案 4 :(得分:0)
每当浏览器窗口更改高度时,这就是我用来调整松弛轮播大小的代码。
var MARGIN_TOP_BOTTOM = 15;
$(window).on('init resize', function () {
var newWindowHeight = $(this).height();
newWindowHeight -= (MARGIN_TOP_BOTTOM * 2);
$(".cssCarousel").css("margin", MARGIN_TOP_BOTTOM + "px 0px");
$(".slick-slide").css("height", newWindowHeight + "px");
$(".slick-slide img").css("height", newWindowHeight + "px");
});
如您所见,我在顶部和底部留出一个小的(15px)间隙。