JavaScript - 智能吸附线拖拽

4
我正在构建一个小部件,可以让用户为特定应用程序任务设计布局。我希望为用户提供类似于PowerPoint/Keynote的界面(如280slides),但也想提供“捕捉指南”(抱歉,我没有更好的词来描述它们),这些指南基本上是帮助用户在页面上对齐多个元素的指南。
Flash IDE中就有这样的例子,在拖动时,IDE会自动计算外围对象的尺寸和位置,并尝试对齐它们。Mockingbird应用程序(https://gomockingbird.com/mockingbird/)实现了类似的功能。(提示:尝试拖动一些对象,看看如何有指南尝试将对象对齐到它们的边界框中)。
我相信通过缓存视口上的元素数组,并计算每个元素的位置和尺寸来找到最佳匹配的捕捉效果,可以实现类似的效果。但是,如何计算正在拖动的元素的最可能位置?是否有其他替代方案?
请拥有更好知识的人 enlighten 我! :)
1个回答

0

我建议使用已经编写好的库来完成这个任务。例如,jQuery UI的可拖拽正是这样做的,并且非常可定制。


jQuery UI 不能满足我所有的需求。仔细看一下,它只会将元素捕捉到直接接触的位置。与我提到过的演示(mockingbird)相比,元素即使没有接触,也能够被吸附。希望你能看出这种差异 :) - shachibista

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接