【发布时间】:2011-08-03 17:43:23
【问题描述】:
我有两个容器。一个缩略图容器和一个“页面”容器。两者都是div。缩略图可以在两个容器之间来回拖动。我已恢复设置为“无效”的缩略图,因此如果将它们放在其中任何一个容器之外,它们会迅速返回到两个容器之一。
缩略图必须与“页面”容器内的 20x20 网格对齐。这样客户端客户端可以将缩略图放在“页面”容器中的任何位置,但仍然能够整齐地排列它们。
问题是可拖动的“网格”选项似乎不太适合这个。似乎“网格”是由您开始拖动时可拖动的位置确定的,而不是像页面具有可以捕捉到的真实网格一样。
有没有办法解决这个问题,使网格基于“页面”容器,而不是开始拖动时可拖动对象的位置?
【问题讨论】:
-
我仍然很想知道您是否找到了解决方案。我已经尝试了下面的 1 个答案,但它并没有解决我的问题。我的问题是每个元素似乎都有自己的网格,基于它被丢弃的位置。
-
@crush,我已经成功地实现了在第一次拖动的停止事件上使用自定义舍入函数。一旦您的对象位置四舍五入到最近的 X 像素,您就可以应用一个新的网格参数,该参数将基于已知网格的倍数的起始位置。
-
@Capsule 这基本上就是我最终所做的。
-
使用 jQuery 的原生 snap-to-grid 这几乎是不可能的,但这里有一个很棒的自己动手解决方案:stackoverflow.com/a/20712561/165673
标签: javascript jquery jquery-ui