javascript - 不光滑的方法不起作用

标签 javascript jquery ajax slick.js

我试图弄清楚为什么在成功的 ajax 调用后调用 unslick 方法时它不起作用。我已阅读this发布并正在寻找 slick-initialized 类,但我仍然收到错误

TypeError: .$slides is null if (.$slides.parent().hasClass('slick-track'))

HTML

<div id="skills" class="skills_section">
  <div>Slide 1</div>
  <div>Slide 2</div>
  <div>Slide 3</div>
</div>

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

<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>

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

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

函数

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

function unSlickCarousel() {
  if($('#skills').hasClass('slick-initialized')){
    $('.skills_section').unslick();
  }
}

但正如我所提到的,我收到错误并且 HTML 标记如下所示

<div id="skills" class="skills_section slick-initialized slick-slider">
  <div>Slide 1</div>
  <div>Slide 2</div>
  <div>Slide 3</div>
</div>

最佳答案

我相信您调用灵活方法的方式已经改变。

而不是$('.skills_section').unslick();

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

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

关于javascript - 不光滑的方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27798824/

相关文章:

javascript - 当我添加处理程序时,Jquery 提交不起作用。

javascript - 如何将 JS 对象制作成 jQuery 元素?

javascript - Joomla Ajax jQuery

javascript - 从一个 div 获取所有子 div id

javascript - 拖放表格单元格并使用 ajax 更新数据库

javascript - Ajax - For 循环

javascript - 导航到模板时失败

javascript - BootStrap 折叠不正确的尺寸

javascript - systemjs 无法在 angular2-rc1 中工作

javascript - 使用 crendentianals 发送预检(选项)AJAX 请求