Isotope.js动态更改排序数据值

时间:2013-03-18 20:02:37

标签: javascript jquery jquery-isotope

我正在尝试动态更改Isotope项目上的排序数据值,但Isotope似乎会缓存初始订单值并仅在'reLayout'调用中使用该值。

我有一个项目页面,当单击时,将扩展到容器宽度的100%。调整大小后,所有同位素项目都必须重新排序到特定位置。我遍历每个框并更新排序值。

以下示例显示了两个Isotope对象,顶部带有动画,它产生正确的排序顺序值,但定位错误,第二个带有应该的正确结果。

完整示例:http://jsfiddle.net/eB85m/4/

Isotope有没有检索新的排序数据或直接更新Isotope的排序数据值?

1 个答案:

答案 0 :(得分:10)

Isotope缓存初始订单值是正确的 - 来自Isotope的文档here

  

数据缓存是在初始化的基础上构建的,因此可以在排序时快速访问。

Isotope提供'updateSortData'方法......好吧,初始化后更新排序数据。 Here's a working jsfiddle - 我刚刚添加了

// Update sort data
// http://isotope.metafizzy.co/docs/methods.html#updatesortdata
$('#iso').isotope( 'updateSortData', $('#iso').children() );

到原始示例并评论'reLayout' - 更新同位素的排序选项已经解决了这个问题(参考同位素的sorting demo)。