javascript - перетаскивание с помощью интеллектуальных направляющих
В настоящее время я создаю виджет, который позволит пользователям разрабатывать макет для конкретной задачи приложения. И я хотел бы предоставить пользователям интерфейс powerpoint/keynote-esque (а-ля 280slides). Тем не менее, я также хотел бы предоставить "руководства по привязке" (извините, у меня нет более подходящих слов для их описания), которые в основном являются руководствами, помогающими пользователям выровнять несколько элементов на странице.
Пример этого можно увидеть в Flash IDE, где после перетаскивания IDE автоматически вычисляет размер и положение периферийных объектов и пытается их выровнять. Приложение mockingbird (https://gomockingbird.com/mockingbird/) достигает чего-то похожего. (Подсказка: попробуйте перетащить некоторые объекты и посмотрите, как существуют направляющие, которые пытаются выровнять объект в их ограничивающих прямоугольниках).
Я полагаю, что подобный эффект может быть достигнут путем кэширования массива элементов в области просмотра и вычисления положения и размера каждого элемента, чтобы найти наиболее подходящую привязку. Однако как рассчитать наиболее вероятную позицию перетаскиваемого элемента? Есть ли альтернативные решения?
С кем-то с лучшими знаниями, пожалуйста, просветите меня!:)
1 ответ
Я предлагаю использовать библиотеку, которая уже была написана для достижения этой цели. Например, Dragable JQuery UI делает именно это и очень настраиваемый.