1

这是我的平面设计作品集网站,我的过滤器有点问题。我使用 jQuery 和类创建了它。当点击一个链接时,它会隐藏所有不是它的“.tags”。所有这些都正常工作。(第 5-19 行)

从第 21 行开始,我创建了一个在项目下方动态添加 div 和内容的函数。它找到存在多少元素,当前元素的位置,并找到新 div 应该插入的位置(在 3 列行的末尾)。所有这些都可以自行正常工作。

问题是当过滤一些“.tags”时,第二个函数没有正确找到当前元素的位置。这是因为我实际上并没有从源代码中删除元素,只是将它们隐藏起来——我想保持这种状态,这样我就不需要继续重新加载内容了。

var portfolio = '#portfolio > a';
var elements = $(portfolio).children(':visible').length; //finds how many elements are in the portfolio
var getPosition = $(portfolio).siblings('a :visible').addBack().index(this);  //find the position of the div 

上面的代码是问题区域(第 25-26 行),但这里是整个代码供参考:http: //jsfiddle.net/cQUMs/5/

无论是否使用过滤器,我的变量元素都可以轻松获得正确数量的元素。getPosition在过滤任何内容之前获取正确的位置,但保留该数字;我需要它动态更新。

4

1 回答 1

0

问题是this您要索引的是一个a元素。所以试试这个(更新的演示):

//find the position of the div
var getPosition = $(portfolio).children(':visible').index( $(this).children() );
于 2013-04-24T21:36:12.670 回答