Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Фиксация границ элементов и zoom всех объектов (https://javascript.ru/forum/dom-window/41868-fiksaciya-granic-ehlementov-i-zoom-vsekh-obektov.html)

emppu2007 02.10.2013 14:16

Фиксация границ элементов и zoom всех объектов
 
Всем привет.
Создаю одну тему сразу для двух проблем.
Картина такая: сейчас у меня есть куча div-объектов, которые я могу двигать по экрану и всячески играть с их размерами. Беда в том, что я не знаю, как исключить у них пересечения друг друга, т.е. объекты можно надвигать друг на дружку, а мне нужно, чтобы они максимум могли друг к другу пристыковаться и всё. Какой-то кусок кода, видимо, надо засунуть и в .resizable, и в .draggable, но вот какой - не знаю. Если только хранить все элементы в словаре и потом, при движении/изменении размеров, брать элементы по ключам и сравнивать по значениям, где значения - это координаты элементов на странице? Но, как мне кажется, решение печальное =/
Так же, не выходит разобраться с zoom'ом. Попробовал использовать .animate при событии hover, но не получается прикрутить эту штуку ко всем (!) div'ам на странице.
В общем, попытался изобразить на рисунке то, что мне требуется:

Куски кода, свои наработки могу прислать, но особого смысла в них, честно говоря, нет.
Заранее благодарю за помощь!

danik.js 02.10.2013 19:08

Что такое .draggable и .resizable? О каком зуме речь?
При перетаскивании фигуры определяй пересечение с другими. Если оно есть - тормози перетаскивание.

emppu2007 03.10.2013 06:04

danik.js,
.draggable и .resizable - это плагины jQuery. Они позволяют легко двигать/изменять размеры div'ов.
Zoom - это опять некоторая jQuery'евская плюха, работающая на основе animate.
К сожалению, видимо, как я и думал - на уровне интерфейса такое не сделать. Придётся каждый раз координаты объектов проверять...


Часовой пояс GMT +3, время: 00:24.