我目前正在构建一个小部件,它将允许用户为特定于应用程序的任务设计布局。我想为用户提供一个PPT/主题演讲式的界面(一个280张幻灯片)。然而,我也想提供"快照指南"(对不起,我没有更好的词来描述它们),它们基本上是帮助用户对齐页面上的多个元素的指南。
这方面的一个例子可以在Flash IDE中看到,在拖动IDE时,IDE会自动计算外围对象的尺寸和位置,并尝试对齐它们。知更鸟应用程序(https://gomockingbird.com/mockingbird/)取得了类似的成就。(提示:尝试拖动一些对象,看看如何有辅助线尝试在其边界框中对齐对象)。
我相信,通过在视口上缓存元素数组并计算每个元素的位置和尺寸以找到最适合的捕捉,也可以达到类似的效果。但是,如何计算被拖动元素的最可能位置?是否有其他解决方案?
和一个更有知识的人在一起,请启发我!:)
我建议使用已经编写好的库来实现这一点。例如,jQueryUI的Draggable正是这样做的,并且非常可定制。