1

我正在使用 Isotope 提取帖子列表,并使用日期作为初始排序,并允许用户按评论和推荐的数量进行排序。一切都按预期工作。

现在我需要完成的是置顶帖。我有一组帖子,我想每隔 10 个随机显示一次。基本上每 10 个帖子我想显示其中一个粘性帖子。

我已经找到了一种在初始加载时执行此操作的方法,每 10 次计数将其注入循环中,但我的问题是在加载所有内容后,排序方法的更改会搞砸。有什么办法可以注入一个粘性帖子,无论排序顺序如何,它实际上都会粘在它应该在的位置?

4

2 回答 2

1

自从我发布了我的最后一个答案以来,刚刚发布了来自 Isotope 创建者的名为Packery的新产品。

Packery 允许您将任意数量的元素“标记”到您喜欢的任何位置。其余元素将整齐地堆叠在任何固定位置(即冲压)元素周围。它在填充孔方面也比同位素做得更好。

我现在的建议是定期在您的置顶帖上盖章,让 Packery 处理其余的事情。

Packery 具有与 isotope 类似的选项和方法,因此您可能会发现您可以简单地将.isotope()调用替换为.packery()调用。

Packery 还支持使用 jQuery UI 拖动或另一个名为Draggabilly的插件进行拖动。我对 Draggabilly 的唯一问题是(还没有)它的打字稿定义文件。它也没有像同位素那样的过滤能力,因此可能不适合您的任务。Isotope 的创建者刚刚在一封电子邮件中告诉我,他将在适当的时候将 Packery 布局包含到同位素中。

于 2013-05-20T15:48:53.440 回答
0

将项目保留在同位素显示列表的开头或结尾的最简单方法是将其作为排序计算的一部分。您只需将排序值偏向非常小(对于页眉项目)或非常大(对于页脚项目)。

按照您指定的间隔放置它们要复杂得多。您可能需要对它们进行一次排序以确定整体顺序,然后更改粘性项目的排序值,以匹配您希望它们插入的位置。然后你重新排序。

另一种方法是编写一组自定义布局方法来替换标准布局方法。

于 2013-05-16T13:38:36.257 回答