【发布时间】:2013-03-06 21:05:55
【问题描述】:
我正在尝试创建类似于this one 的轮播组件,基本上这个实现是我正在寻找的,但它不能处理(或没有作为选项)是带有变量的幻灯片其中的项目数。
我在说的是:链接中提到的实现在每张幻灯片中使用 3 个项目,如果最后一张幻灯片没有正好 3 个项目,它会用空项目填充该插槽。这是使无限实现变得容易的相当好的方法。
我尝试修改它以在只有一个插槽为空时用列表中的第一项填充该空插槽,如果两个插槽为空则前两个项目等,但我偶然发现了下一组幻灯片具有完全不同显示的问题和逻辑,因此动画变得“有问题”——例如如果最后一张幻灯片中只有一个插槽是空的,则返回“开始”第一张幻灯片将有第二、第三和第四项没有第一项。
我当前的“workaraound”是在每次重新定位(单击控件按钮)时克隆、附加和前置项目,但这非常不高效(每次操作 DOM 并基于原始选择器缓存一组新元素可能代价高昂) 并且可能是“懒惰的出路”。
这个问题有什么聪明的办法吗?
【问题讨论】:
-
您是否尝试过“玩”绝对位置来重新排列元素?或者也许 jquery.detach 而不是克隆?
-
其实我并没有克隆元素,我分离它们以保留原始引用,但这基本上是一样的。
-
我的回答呢?