ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Filterizr 搜索功能指南:为画廊添加实时搜索的 3 个步骤

Filterizr 搜索功能指南:为画廊添加实时搜索的 3 个步骤 Filterizr 搜索功能指南为画廊添加实时搜索的 3 个步骤【免费下载链接】filterizr:sparkles: Filterizr is a JavaScript library that sorts, shuffles and filters responsive galleries using CSS3 transitions :sparkles:项目地址: https://gitcode.com/gh_mirrors/fi/filterizrFilterizr 是一款基于 JavaScript 的开源图片画廊过滤库通过 CSS3 过渡动画实现响应式画廊的筛选、排序、洗牌与实时搜索功能。本指南将用 3 个简单步骤带你为图片画廊添加实时搜索能力让用户输入关键词即可即时过滤出匹配的项目。文章将围绕 Filterizr 的search()方法、data-search搜索框控件和searchTerm配置项展开全程无需复杂代码新手也能轻松完成。Filterizr 搜索功能的核心机制在动手之前先快速了解 Filterizr 是如何实现搜索的。搜索本质上是在分类过滤之上再叠加一层文本匹配过滤当你在搜索框输入关键词时Filterizr 会遍历画廊中每个条目.filtr-item的全部文本内容包含关键词的条目保留并重新排列不包含的条目则通过 CSS3 过渡动画优雅淡出。这一逻辑由 FilterItem.ts 中的contentsMatchSearch方法实现它会对条目文本进行不区分大小写的包含匹配所以搜索 CITY 和 city 效果完全一致。整个搜索行为零依赖、纯原生实现移动端表现同样出色。第一步搭建画廊的 HTML 结构搜索的前提是有一个结构清晰的画廊。Filterizr 的约定很简单外层容器使用.filtr-container每个条目使用.filtr-item并通过data-category属性声明所属分类可同时属于多个分类用逗号分隔div classfiltr-container div classfiltr-item />第二步添加搜索框控件只需一行 HTML接下来在画廊上方添加一个输入框作为搜索控件。关键点在于给它加上data-search属性并赋予fltr-controls类名input typetext classfltr-controls filtr-search>import Filterizr from filterizr; const filterizr new Filterizr(.filtr-container, { controlsSelector: .fltr-controls, gutterPixels: 15, });初始化完成后搜索功能立即生效。你还可以随时通过 API 手动触发搜索例如在外部按钮或 URL 参数中调用filterizr.search(city); // 只显示文本包含 city 的条目该方法定义在 Filterizr.ts内部会自动将关键词转为小写并重新渲染画廊。如果想要页面加载时就有默认搜索词只需在配置中加入searchTerm选项默认值为空字符串参见 defaultOptions.tsnew Filterizr(.filtr-container, { controlsSelector: .fltr-controls, searchTerm: city, });搜索与分类过滤如何协同工作这是 Filterizr 最实用的特性搜索与分类过滤是叠加关系AND 逻辑。例如你先点击自然分类再输入 lake画廊只会显示分类为自然且文本包含 lake的条目。filterizr.filter(2); // 先按分类过滤2 自然 filterizr.search(lake); // 再叠加关键词搜索底层实现位于 FilterItems.ts 的getFiltered方法——它先执行搜索匹配再执行分类过滤两者同时满足的条目才会保留。这让分类 关键词的组合筛选成为可能非常适合电商商品列表、作品集、相册等场景。进阶技巧使用 jQuery 调用搜索 API如果你习惯 jQuery 写法Filterizr 也能无缝衔接。通过installAsJQueryPlugin将 Filterizr 注册为 jQuery 插件后即可用链式语法调用搜索import $ from jquery; import Filterizr from filterizr; Filterizr.installAsJQueryPlugin($); $(.filtr-container).filterizr(search, city);jQuery 用法与原生 API 完全等价你可以根据自己的技术栈选择详见 installAsJQueryPlugin.ts 与 index.jquery.ts。常见问题解答搜索是实时触发还是需要按回车实时触发。搜索框监听keyup事件并内置 250ms 防抖用户停止输入片刻后立即刷新画廊。搜索会匹配哪些内容每个条目的全部文本内容包括图片下方的标题、描述文字等。想提高匹配准确率建议为每个条目添加清晰的关键词描述如示例中的span classitem-desc。可以同时支持搜索和排序吗可以。Filterizr 的搜索、过滤、排序、洗牌互相独立又协同工作搜索后的结果同样可以继续排序或洗牌。总结到这里你已经掌握了为 Filterizr 画廊添加实时搜索的完整流程① 搭建.filtr-item画廊结构 → ② 添加带data-search的搜索框 → ③ 初始化 Filterizr 并配置controlsSelector。全程只需 3 步即可获得带 CSS3 平滑过渡动画的实时搜索体验。想亲自上手体验克隆仓库即可运行本地 demo 查看完整效果git clone https://gitcode.com/gh_mirrors/fi/filterizr打开demo/index.html在搜索框输入 city 或 lake立刻就能感受到实时搜索的丝滑体验。祝你玩得开心【免费下载链接】filterizr:sparkles: Filterizr is a JavaScript library that sorts, shuffles and filters responsive galleries using CSS3 transitions :sparkles:项目地址: https://gitcode.com/gh_mirrors/fi/filterizr创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表