我正在尝试动态更改Isotope项目上的排序数据值,但Isotope似乎会缓存初始订单值并仅在'reLayout'
调用中使用该值。
我有一个项目页面,当单击时,将扩展到容器宽度的100%。调整大小后,所有同位素项目都必须重新排序到特定位置。我遍历每个框并更新排序值。
以下示例显示了两个Isotope对象,顶部带有动画,它产生正确的排序顺序值,但定位错误,第二个带有应该的正确结果。
完整示例:http://jsfiddle.net/eB85m/4/
Isotope有没有检索新的排序数据或直接更新Isotope的排序数据值?
答案 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)。