unslick方法不起作用

Ric*_*wis 2 javascript ajax jquery slick.js

我试图弄清楚为什么当我在成功的ajax调用之后调用unslick方法时,unslick方法不起作用.我看过这个帖子,我期待的slick-initialized类,但我仍然得到错误

TypeError:.$ slides如果(.$ slides.parent().hasClass('slick-track'))为null

HTML

<div id="skills" class="skills_section">
  <div>Slide 1</div>
  <div>Slide 2</div>
  <div>Slide 3</div>
</div>
Run Code Online (Sandbox Code Playgroud)

当我在页面加载时初始化光滑时,标记将如下所示:

<div id="skills" class="skills_section slick-initialized slick-slider">
  <div class="slick-list draggable">
    <div class="slick-track">
      <div class="slick-slide slick-cloned">Slide 1</div>
      <div class="slick-slide slick-cloned">Slide 2</div>
      <div class="slick-slide slick-cloned">Slide 3</div>
    </div>
  </div>
 </div>
Run Code Online (Sandbox Code Playgroud)

我有一个ajax调用,只会替换每个中的数据 slick-slide

$.ajax({
  type: 'get',
  url: '/public/index',
  dataType: 'script',
  data: data_send,
   success: function(data) {
     unSlickCarousel();
     slickCarousel();
   }
});
Run Code Online (Sandbox Code Playgroud)

功能

function slickCarousel() {
  $('.skills_section').slick({
    infinite: true,
    slidesToShow: 3,
    slidesToScroll: 1
  });
}

function unSlickCarousel() {
  if($('#skills').hasClass('slick-initialized')){
    $('.skills_section').unslick();
  }
}
Run Code Online (Sandbox Code Playgroud)

但正如我所提到的,我得到了错误,HTML标记看起来像这样

<div id="skills" class="skills_section slick-initialized slick-slider">
  <div>Slide 1</div>
  <div>Slide 2</div>
  <div>Slide 3</div>
</div>
Run Code Online (Sandbox Code Playgroud)

Ada*_*hes 10

我相信你调用光滑方法的方式已经发生了变化.

代替 $('.skills_section').unslick();

尝试 $('.skills_section').slick("unslick");

您也可以直接在光滑选项的响应选项中调用此方法