我正在使用 jQuery Quicksand 插件按日期过滤列表。
我已经让它像给出的示例一样工作,但是,过滤器应用于<li>
加载为block
的项目,然后一旦所有项目都加载,float:left
就会应用 CSS。让整个过程看起来有点紧张和混乱。
我无法弄清楚为什么流沙网站上的示例没有发生这种情况 - 列表消失然后顺利重新出现。我仔细研究了 CSS 并尝试了许多变体,duration
但easing
同样的事情发生了。
问题是 CSS 被应用于 jQuery 所作用的 ID。因此,每次有任何 jQ 操作时,都会重新加载样式。通过还应用一个由 CSS 作用的类,两者保持分离,因此立即应用了样式。
即
<ul id="magazines">
jQ 作用于#magazines 和 CSS 也会#magazines
导致加载延迟。
<ul id="magazines" class="mag-list">
与 jQ 作用#magazines
和 CSS 作用.mag-list
是要走的路。
答案是,你的 li 的 css 应该始终是 float:left。这应该被硬编码到您的样式表中。您应该使用JS隐藏ul,创建加载内容的li,然后显示ul。
事实上,所有的 css 都应该被硬编码到样式表中,隐藏 ul,加载 lis,显示 ul。
这样做可以更容易地设置渐进增强,没有 js 的用户可以访问相同的内容,但没有动画。
首先,不会隐藏 UL,因为这是使用 js 完成的。因此,您所要做的就是将单选按钮作为非 js 用户的锚点,当他们单击它时,会在通过 get 方法访问的 url 上添加一个查询字符串,您可能可以将其用于现有的 ajax 后端。
然后,您将链接交换为 js 中的单选按钮。