微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

调整大小小于 1200px 仅轮播否则,“不光滑”

如何解决调整大小小于 1200px 仅轮播否则,“不光滑”

在 Slick JS 下用于我们的组件。只有当用户从桌面调整到移动(小于 767 像素)并手动刷新页面时,它才能正常工作。

如何在调整大小期间使该脚本工作?小于1200px只需要初始化slick。不仅如此,没有华而不实,只有 div 列容器。

$('.listing.columns').slick({                    
            dots: true,infinite: true,slidesToShow: 3,slidesToScroll: 3,variableWidth: true,responsive: [
            {
                breakpoint: 9999,settings: 'unslick'
            },{
                breakpoint: 1200,settings: {
                    slidesToShow: 3,dots: true
                }
            },{
                breakpoint: 767,settings: {
                    slidesToShow: 1,slidesToScroll: 1,dots: true,prevArrow: false
                }
            }]
        });

解决方法

尝试包含一个 window 调整大小事件,看看您是否可以像这样观看:

$(window).on('resize',function() {
  $('.listing.columns').slick('resize');
});

还有 prevArrow 不接受布尔值作为值, 它需要是以下类型: string (html|jQuery selector) | object (DOM node|jQuery object)

$('.listing.columns').slick({                    
    dots: true,infinite: true,slidesToShow: 3,slidesToScroll: 3,variableWidth: true,responsive: [
      {
        breakpoint: 9999,settings: 'unslick'
      },{
        breakpoint: 1200,settings: {
          slidesToShow: 3,variableWidth: true
        }
      },{
        breakpoint: 767,settings: {
          slidesToShow: 1,slidesToScroll: 1,variableWidth: false,}
      } 
    ]
});

$(window).on('resize',function() {
  $('.listing.columns').slick('resize');
});
.listing-el {
  line-height: 100px;
  background-color: #00DBDE;
  text-align: center;
  font-size: 30px;
  margin: 0 1rem;
  color: #fff;
  width: 200px;
}

.listing-el-small {
  width: 150px;
  background-color: #4158D0;
}

.listing-el-large {
  width: 250px;
  background-color: #FBDA61;
}

.listing-el-xlarge {
  width: 300px;
  background-color: #21D4FD;
}

@media(min-width:1201px){
  .listing-el {
    display: inline-block;
    margin: 1rem;
  }
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.css" integrity="sha512-yHknP1/AwR+yx26cB1y0cjvQUMvEa2PFzt1c9LlS4pRQ5NOTZFWbhBig+X9G9eYW/8m0/4OXNx8pxJ6z57x0dw==" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.css" integrity="sha512-6lLUdeQ5uheMFbWm3CP271l14RsX1xtx+J5x2yeIDkkiBpeVTNhTqijME7GgRKKi6hCqovwCoBTlRBEC20M8Mg==" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js" integrity="sha512-XtmMtDEcNz2j7ekrtHvOVR4iwwaD6o/FUJe6+Zq+HgcCsk3kj4uSQQR8weQ2QVj1o0Pk6PwYLohm206ZzNfubg==" crossorigin="anonymous"></script>

<div class="listing columns">
  <div class="listing-el listing-el-large">1</div>
  <div class="listing-el listing-el-small">2</div>
  <div class="listing-el listing-el-xlarge">3</div>
  <div class="listing-el">4</div>
  <div class="listing-el listing-el-xlarge">5</div>
  <div class="listing-el">6</div>
  <div class="listing-el">7</div>
  <div class="listing-el listing-el-small">8</div>
  <div class="listing-el">9</div>
  <div class="listing-el listing-el-large">10</div>
</div>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。