jquery - 垂直 Slick slider 的自适应高度

标签 jquery html css slick.js

我有一个 slick slider垂直方向:

$('.slider').slick({
  slidesToShow: 3,
  slidesToScroll: 1,
  arrows: false,
  dots: false,
  infinite: false,
  centerMode: true,
  vertical: true,
  focusOnSelect: true
});
.slider {
  background: #eee;
  margin: 1rem;
}

.slick-vertical .slick-slide {
  cursor: pointer;
  padding: 1rem;
}

.slick-vertical .slick-slide:hover {
  background: #ddd;
}

.slick-vertical .slick-slide img {
  display: none;
  margin: 0 auto;
}

.slick-slide {
  border: 1px solid #ccc;
  text-align: center;
}

.slick-vertical .slick-slide.slick-current img {
  display: block;
}
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
	  
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.min.css" />

<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.min.js"></script>

  
<div class="slider">
  <div>
    <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum, alias.
    </p>
    
    <img src="https://dummyimage.com/300x150/ccc/fff&text=img-1" alt="">
  </div>
  <div>
    <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum, alias.
    </p>
    
    <img src="https://dummyimage.com/300x150/ccc/fff&text=img-1" alt="">
  </div>
  <div>
    <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum, alias.
    </p>
    
    <img src="https://dummyimage.com/300x150/ccc/fff&text=img-1" alt="">
  </div>
  <div>
    <p>
      Lorem ipsum dolor sit amet , consectetur adipisicing elit. Voluptatum, alias.
    </p>
    
    <img src="https://dummyimage.com/300x150/ccc/fff&text=img-1" alt="">
  </div>
  <div>
    <p>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum, alias.
    </p>
    
    <img src="https://dummyimage.com/300x150/ccc/fff&text=img-1" alt="">
  </div>
</div>

每个单元格包含一个图像。图片被隐藏 (.slick-slide.img { display: none; })。如果选择一个 block ,图像应该出现 (.slick-slide.slick-current img { display: block; })。

但是 slider 不能正常工作。

如何修复 slider ?

最佳答案

计算最高的幻灯片并为其他 child 设置顶部/底部边距。

var maxHeight = -1;
$('.slick-slide').each(function() {
  if ($(this).height() > maxHeight) {
    maxHeight = $(this).height();
  }
});
$('.slick-slide').each(function() {
  if ($(this).height() < maxHeight) {
    $(this).css('margin', Math.ceil((maxHeight-$(this).height())/2) + 'px 0');
  }
});

关于jquery - 垂直 Slick slider 的自适应高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43050276/

相关文章:

javascript - 排序 HTML 表格长日期

javascript - 如何延迟加载 jQuery 本身,特别是在使用 $(document).ready() 时

javascript - 在下拉列表 1 中选择某项后启用第二个下拉列表

javascript - 使用 laravel 在 jquery 中使用 window.location.href 时没有获得变量值

javascript - jQuery 优雅降级

php - 我如何使用 php 动态更改 html div 的宽度?

css - 我的折叠菜单列表未显示在其父项之外。菜单列表扩展父级但不扩展每个菜单中的他列表

javascript - Php JavaScript刷新某些div

javascript - 无效属性 : expected Array, 但未定义

HTML/CSS : a:hover {-webkit/-moz-transition:color}