【发布时间】:2011-12-06 11:22:17
【问题描述】:
我正在尝试使用 JQuery .sortable() 制作具有不同高度的可排序块。
但是,如果您尝试将大块向右移动,则其中一个小框会移动到底部并留下空白处。
当我将 float: right 设置为父 div 而不是 float: left 时,我无法正确地将大块拖到左侧。
我了解它为什么会发生以及float 的工作原理,但我找不到解决方法。
更新: Here 是我正在尝试做的事情的全貌。我想要的只是能够从空白页面创建这个结构,只使用 6 种宽度、可调整高度和可排序项目。
【问题讨论】:
-
很难避免当前的行为,因为将大块向右移动会导致两个小块向左浮动,就像它应该的那样工作:) 你必须关闭浮动,具体取决于按当前排序顺序...
-
关闭哪个元素的浮动? :) 我看到两种方法:1. 在拖动过程中取决于鼠标 x 位置浮动:左到浮动:右(当拖动到父 div 的右侧时) 2. 将小 div 放置到一个父容器中以创建一个“组”。但我希望有更简单的解决方案:)
-
jsfiddle.net/tnLcg/5 这是我在上面发布的解决方案 #1 的示例。这可能适用于 2 列示例,但有 4 列和更多不同的块,这太疯狂了 :(
-
我不确定您认为 sortable 将如何帮助您解决这个问题。该图像对于每个块最终应属于哪一列确实令人困惑。我认为 sortable 主要是为相同大小的对象设计的,这就是为什么您在将其弯曲到此应用程序时遇到问题的原因。
标签: javascript jquery html css jquery-ui-sortable