Javascript Slick Slider按类过滤,而不是:偶数
这是slick slider中用于过滤div的代码。我在网上找不到任何解决方案,也没有亲自将“:even”更改为类名 这是以下代码: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
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