同位素过滤器,搜索和过滤问题

我正在按照在线教程进行同位素搜索。

我几天来一直面临的问题是,一旦我使用按钮进行过滤或排序,我的搜索就将失效。

有人可以帮我吗?我将非常感谢。

//快速搜索正则表达式var qsRegex; var buttonFilter;

//初始同位素var $ grid = $('。grid')。isotope({itemSelector:'.element-item',layoutMode:'fitRows',filter:function(){var $ this = $(this ); var searchResult = qsRegex?$ this.text()。match(qsRegex):true; var buttonResult = buttonFilter?$ this.is(buttonFilter):true;返回searchResult && buttonResult;}}));

$('#filters')。on('click','button',function(){buttonFilter = $(this).attr('data-filter'); $ grid.isotope();}) ;

//使用搜索字段的值过滤var $ quicksearch = $('#quicksearch')。keyup(debounce(function(){qsRegex = new RegExp($ quicksearch.val(),'gi'); $ grid.isotope();}));

//更改按钮$('。button-group')。each(function(i,buttonGroup){var $ buttonGroup = $(buttonGroup); $ buttonGroup.on('click',' button',function(){$ buttonGroup.find('。is-checked')。removeclass('is-checked'); $(this ..addClass('is-checked');});});

//去抖动,因此不会在每毫秒的函数中进行过滤debounce(fn,threshold){var timeout;阈值=阈值|| 100;返回函数debounced(){clearTimeout(timeout); var args = arguments; var _this = this;函数delay(){fn.apply(_this,args); } timeout = setTimeout(delay,threshold); }; }

//初始化同位素var $ grid = $('。grid')。isotope({itemSelector:'.element-item',layoutMode:'fitRows',getsortData:{name:'.name',symbol:' .symbol',数字:'。number parseInt',类别:'[data-category]',权重:function(itemElem){var weight = $(itemElem).find('。weight')。text();返回parseFloat(weight.replace(/ [\(\)] / g,''));}}});

//过滤函数var filterFns = {//显示数字是否大于50 numberGreaterThan50:function(){var number = $(this).find('。number')。text();返回parseInt(number,10)> 50; },//显示名称是否以-ium ium结尾:function(){var name = $(this).find('。name')。text();返回name.match(/ ium $ /); }};

//绑定过滤器按钮单击$('#filters')。on('click','button',function(){var filterValue = $(this).attr('data-filter'); //如果与值相匹配,则使用filterFn filterValue = filterFns [filterValue] || filterValue; $ grid.isotope({filter:filterValue});});

//绑定排序按钮单击$('#sorts')。on('click','button',function(){var sortByValue = $(this).attr('data-sort-by'); $ grid.isotope({sortBy:sortByValue});});

//更改按钮$('。button-group')。each(function(i,buttonGroup){var $ buttonGroup = $(buttonGroup); $ buttonGroup.on('click',' button',function(){$ buttonGroup.find('。is-checked')。removeclass('is-checked'); $(this ..addClass('is-checked');});});

iCMS 回答:同位素过滤器,搜索和过滤问题

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1827870.html

大家都在问