Для этого я создал функцию, которой вы даете элементы slave / master, которая создает функцию bind () для master (в этом случае я допускаю перетаскивание из master, я могу обойти это, я уверен), что заставляет раб следовать за ним, используя стандартную jQuery css.
function overlap(slave,master) {
$('a#groupTheseBlocks').click(function(){
master.bind('drag', groupBlocks);
slave.draggable('disable');
// remember where the slave is in relation to the master
sLeftRef = (slave.offset().left - master.offset().left);
sTopRef = (slave.offset().top - master.offset().top);
});
function groupBlocks() {
var left = master.offset().left;
var top = master.offset().top;
slave.draggable('disable');
slave.css('left', (left + sLeftRef) + 'px');
slave.css('top', (top + sTopRef) + 'px');
}
}
Полагаю, я опубликую больше, когда у меня будет рабочий пример. В нынешнем виде это работает для меня. Чего не хватает, так это способа вызвать перекрытие (ведомое, ведущее) с элементами, которые вы хотите сгруппировать вместе. Я делаю это действительно определенным образом. Вы уверены, что вы можете сделать это умным способом.