sab*_*uro 4 javascript jquery slider
这是一个用于光滑滑块的 HTML:
<div class="slick">
<div class="black phone"></div>
<div class="white phone"></div>
<div class="green phone"></div>
<div class="black ipad"></div>
<div class="white ipad"></div>
<div class="green ipad"></div>
<div class="black tablet"></div>
<div class="white tablet"></div>
<div class="green tablet"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我需要按颜色(黑色、白色、绿色)和设备(手机、ipad、平板电脑)过滤。因此,例如,需要按.white和的类名过滤.tablet。过滤器格式为:“颜色”和“设备”。它是动态的,而不是静态的。请给我建议。任何帮助将不胜感激。谢谢。
这其实很简单。
由于 slick 只使用 jquery 的.filter() http://api.jquery.com/filter/,您可以在单个字符串中使用多个类选择器。只需用逗号加入您想保留的课程。
let slidesToKeep = ['.green.tablet', '.green.phone', '.ipad'].join(',');
// slidesToKeep now equals '.green.tablet,.green.phone,.ipad'
$('.slick').slick('slickFilter', slidesToKeep);
Run Code Online (Sandbox Code Playgroud)
我创建了一个 codepen 演示,因此您可以添加任意数量的过滤器:Slick Carousel multiple filter demo。
编辑文本链接
使用文本链接而不是选择框非常简单。您可以在文本链接上使用点击侦听器。
像这样添加文本:
<span class="color-filter" data-value=".black">black</span>
<span class="color-filter" data-value=".white">white</span>
<span class="color-filter" data-value=".green">green</span>
Run Code Online (Sandbox Code Playgroud)
点击监听器:
$('form.filter span').on('click', function() {
var filterClass = $(this).data('value')
$('.slick').slick('slickUnfilter')
$('.slick').slick('slickFilter', filterClass)
});
Run Code Online (Sandbox Code Playgroud)
我分叉了原始代码笔以显示它的工作...... https://codepen.io/timrross/pen/JxyVjE
| 归档时间: |
|
| 查看次数: |
4901 次 |
| 最近记录: |