Javascript Slick Slider按类过滤,而不是:偶数

Javascript Slick Slider按类过滤,而不是:偶数,javascript,slick.js,Javascript,Slick.js,这是slick slider中用于过滤div的代码。我在网上找不到任何解决方案,也没有亲自将“:even”更改为类名 这是以下代码: var filtered = false; $('.js-filter').on('click', function(){ if (filtered === false) { $('.filtering').slick('slickFilter',':even'); $(this).text('Unfilter Slides'); f

这是slick slider中用于过滤div的代码。我在网上找不到任何解决方案,也没有亲自将“:even”更改为类名

这是以下代码:

var filtered = false;

$('.js-filter').on('click', function(){
  if (filtered === false) {
    $('.filtering').slick('slickFilter',':even');
    $(this).text('Unfilter Slides');
    filtered = true;
  } else {
    $('.filtering').slick('slickUnfilter');
    $(this).text('Filter Slides');
    filtered = false;
  }
});

它说“:偶数”的部分是否可以更改为类名?除了“:偶数”部分之外,我需要代码的确切形式。有人能帮我吗?

Slick使用官方的.filter jQuery方法,您可以在这里找到文档:

我对JS非常陌生,和您一样,我不能将类放在方法的选择器位置。我对规则仍然有点不确定,但通过使用以下工具,我确实取得了一些进展:

    $('.filtering').slick('slickFilter','div:contains("test")');
我不确定您的HTML是什么样子,但我的如下所示(PUG格式):


这类工作,但它也核整个旋转木马,按钮和一切。还没有弄清楚这个部分,但也许这会让你走上正确的道路

是的,只要用滑动条项目的类名替换
:甚至
。滑动条项目是滑动条元素的直接子元素,这一点很重要。例如:


将滑块项目的内容放入项目div中。然后,只需创建一个javascript函数,按类名过滤滑动条即可进行过滤:

const filterByClassname=(classname)=>{
$('.filtering').slick('slickUnfilter');
$('.my slick slider').slick('slickFilter',`.${classname}`);
});
//按类名“cat”筛选
filterByClassname(“cat”);
这里有两件重要的事情: -请注意,必须在类名前加一个点。jquery函数
filter
需要一个css选择器作为输入。 -注意,
.slick('slickUnfilter')您可以重新设置滑块的过滤。我建议在应用新过滤器之前总是这样做


希望有帮助!下面是一个应用了过滤功能的完整代码笔示例:

您现在发现什么了吗?我也面临同样的问题。找到了解决方案,请看我的答案!:)
//- Carousel
.slick-carousel
  div
    .item
      img(src="images/test1.jpg").item-trigger
      .item-modal
        .item-modal-content
          span.item-close-button ×
          name test