我使用Isotope来提取帖子列表,并使用日期作为初始排序,并允许用户按评论和推荐的数量进行排序。一切都按预期工作。
现在我需要完成的是粘贴帖子。我有一组帖子,我希望以10为间隔随机显示。基本上每10篇帖子我都想展示其中一个粘贴帖子。
我已经找到了一种方法,可以在初始加载时通过在每10次计数中将它注入循环来实现它,但我的问题是在加载所有内容后,排序方法的更改会混淆这一点。有什么方法可以注入一个粘贴的帖子,无论排序顺序是什么,它实际上会粘在它应该的位置?
答案 0 :(得分:1)
自从我发布了我的上一个答案后,来自Isotope创建者的新产品Packery刚刚发布。
Packery允许您将任意数量的元素“标记”到您喜欢的任何位置。剩余的元件将整齐地堆叠在任何固定位置(即冲压)元件周围。它在填充孔方面也比同位素更好。
我现在的建议是定期盖上粘贴的帖子,让Packery负责其余的工作。
Packery有类似的同位素选项和方法,因此您可能会发现只需使用.isotope()
来电替换.packery()
来电。
Packery还支持使用jQuery UI拖动或另一个名为Draggabilly的插件进行拖动。我对Draggabilly的唯一问题是它还没有打字稿定义文件(还)。它也没有像同位素那样的过滤能力,因此可能不适合您的任务。 Isotope的创建者在电子邮件中告诉我,他将在适当的时候将Packery布局纳入同位素。
答案 1 :(得分:0)
在同位素显示列表的开头或结尾保留项目的最简单方法是使其成为排序计算的一部分。您只需将排序值偏差(对于标题项)或非常大(对于页脚项)。
按指定的间隔放置它们要复杂得多。您可能需要对它们进行一次排序以确定整体订单,然后更改粘性项目的排序值,以匹配您希望它们插入的位置。然后你再次排序。
另一种方法是编写一组自定义布局方法来替换标准布局方法。