- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用同位素 (v1) 并在 an example in a Pen 之后创建了一个搜索字段.
最初它可以工作,但是,如果我过滤同位素库,则搜索字段将停止工作。
我相信搜索功能仍在运行,只是不会过滤图库,我不确定如何解决该问题。事实上,我不确定确切的问题是什么,因为没有抛出任何错误。
Here is a Fiddle有一个工作示例。
这是搜索、过滤和同位素 JavaScript:
var $container = $('.isotope'),
qsRegex,
filters = {};
$container.isotope({
itemSelector : '.element',
masonry : {
columnWidth : 120
},
getSortData : {
name : function ( $elem ) {
return $elem.find('.name').text();
}
},
filter: function() {
return qsRegex ? $(this).text().match( qsRegex ) : true;
}
});
function searchFilter() {
qsRegex = new RegExp( $quicksearch.val(), 'gi' );
$container.isotope();
}
// use value of search field to filter
var $quicksearch = $('#quicksearch').keyup( debounce( searchFilter ) );
$('#reset').on( 'click', function() {
$quicksearch.val('');
searchFilter()
});
// store filter for each group
$('#filters').on( 'click', '.button', function() {
var $this = $(this);
// get group key
var $buttonGroup = $this.parents('.button-group');
var filterGroup = $buttonGroup.attr('data-filter-group');
// set filter for group
filters[ filterGroup ] = $this.attr('data-filter');
// combine filters
var filterValue = '';
for ( var prop in filters ) {
filterValue += filters[ prop ];
}
// set filter for Isotope
$container.isotope({ filter: filterValue });
});
// debounce so filtering doesn't happen every millisecond
function debounce( fn, threshold ) {
var timeout;
return function debounced() {
if ( timeout ) {
clearTimeout( timeout );
}
function delayed() {
fn();
timeout = null;
}
setTimeout( delayed, threshold || 100 );
}
}
我该如何解决这个问题?
注意:我使用的是 jQuery 2.1.1。
最佳答案
在你的例子中,$('#filters').on('click', '.button', function ()
停止了搜索功能,你重置了放置在 #filters div 中的按钮,所以当你点击它搜索引擎也停止了。
我没有最好的解决方案,但它解决了一些问题:
使用函数回调引擎的思路:
var iso = function() {
//engine here
}
和
$(function () {
iso();
$('.iso').click(function(){
setTimeout(iso, 500);
});
});
没有 setTimeout 它无法工作。
但这并没有解决主要问题
看FIDDLE你会明白我的意思的
或者您可以将重置和显示所有按钮放在#filters div 之外
关于javascript - 过滤器 + 使用同位素搜索会中断搜索吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23819517/
有没有办法保持定位完整,但使元素不可点击?演示 here 。 通过添加另一个类而不是 .element,我失去了定位。 抱歉没有添加具体的代码示例,因为我不确定在哪里解决这个问题(标记、CSS 或 j
使用同位素 extension of perfectMasonry by zonear 到目前为止,它看起来运行良好,我想知道是否有人知道如何将容器居中。尝试使用 css 但没有运气。原始同位素has
我已经和同位素斗争了一段时间了。经过几次不同的坐着之后,我似乎无法弄清楚这一点。 isotope.metafizzy.co/index.html 我将用图像来说明我的问题,但这是解释。正如您在我的网站
我使用此代码来运行具有 RTL 支持的 Isotope $.Isotope.prototype._positionAbs = function( x, y ) { return { right:
我使用同位素作为精美布局中链接内容的分类组织者。我正在尝试将多个值插入一个数组中,以便它将显示过滤器触及的所有项目。然而,最终结果只是显示数组中的最新项目而不是总和。最初,我将所有值插入一个字符串,然
我对同位素插件有一个小问题。当我的网页加载时,Isotope 将显示所有元素。我想让它显示一个类别。我怎样才能实现它? 预先感谢您的帮助! 最佳答案 只需在首次调用同位素的选项中提供一个过滤器,该过滤
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我问过类似的问题,但仍然想知道为什么我无法删除selected我认为这是删除 selected class 的正确操作 $(this).parents('.item').removeClass('se
我的容器是 800px。该空间被投资组合容器占用。然后单击按钮以启用过滤器菜单,然后告知投资组合容器的宽度为 610px,从而为过滤器菜单留出剩余空间。我正在使用 reLayout 调用来尝试更新项目
我在下面的例子中使用了代码: http://jsfiddle.net/desandro/zhbLL/3/embedded/result,js,css,html,resources/ 但希望将所选元素设
假设我想过滤颜色(红色、黄色或蓝色)、尺寸(小号、中号或大号)和 Material (羊毛、棉、丝绸)。我将有三组复选框。如果用户选中“红色”复选框和“中号”复选框,我希望 Isotope 显示红色和
按照有关 infinite scroll 的说明进行操作,我能够隐藏第 2、3、4 等页面中的新内容,直到它完成加载并制作动画。现在我想实现相同的效果,但主要内容是什么,第一页是什么。有什么帮助吗?我
我正在构建一个页面,其中的 block 由 Isotope 控制,我想插入一个分隔符。这是我的例子:
我正在尝试实现 Jquery Isotope。当我单击列表项中的过滤器时,没有任何反应。这些元素不会过滤或动画。如果有人可以提供帮助,那就太好了!谢谢! Jfiddle:http://jsfiddle
目前的运作方式: 默认显示最新的6个项目 当按下特定列表时,它会显示该类别中的最新帖子,即最新的 6 个项目。例如:它显示 Foto 中最新的 4 个,因为 6 个中的 4 个是 Foto 类别。这意
我花了大量时间试图让同位素和延迟加载一起工作。 问题:如果用户向下滚动,延迟加载会起作用,但是如果用户使用过滤器,项目会显示在顶部,但图像不会加载。 这是一个有同样问题的人,但他似乎解决了这个问题。我
我能找到的有关同位素动画的所有信息均适用于版本 1:http://isotope.metafizzy.co/v1/docs/animating.html 似乎没有任何关于同位素 2 的文档。有谁知道我
我们的插件 ( http://isotope.metafizzy.co/ ) 有问题,但它运行得很好。 但是我对盒子的顺序有疑问。我想知道是否可以从左到右排列。我已在屏幕 here 中说明了我的问题.
JQuery Masonry 和 Isotope 允许您拥有静态的 Cornerstamp,而页面的其余部分是动态的。 http://isotope.metafizzy.co/custom-layou
尝试让我的画廊正常运行。现在我使用 isotope.js 来过滤我的画廊,并使用 photoswipe.js 作为灯箱。 我的问题是,即使它正确地过滤了图库,photoswipe 仍然显示所有图像。
我是一名优秀的程序员,十分优秀!