Это зависит высоко от того, что Вы делаете и какой язык Вы выполняете в нем. Лично, я склонен не использовать IDE (или "мой IDE состоит из 3 xterms рабочая энергия, одно выполнение клиента базы данных, и один с подсказкой удара или концом журналов", в зависимости от того, как широко Вы определяете "IDE") для большей части моей работы, но, если бы я должен был разработать собственный платформой GUI, тогда я достиг бы соответствующего языку IDE немедленно - IMO, IDE и графическое редактирование формы ясно сделаны друг для друга.
У меня была аналогичная проблема - я решил ее решить, вручную удалив перетаскиваемый элемент из его старого родительского элемента и добавив это к упавшему элементу.
Я обнаружил, что когда вы выполняете перетаскивание, пользовательский интерфейс jQuery добавляет строку, чтобы сообщить вам, где вы его уронили. Ниже приведен пример кода, который я использовал, чтобы закрепить его на месте
$('.droppable').droppable({ drop: function(ev, ui) {
//Get Details of dragged and dropped
var draggedclass = ui.draggable.attr('class'),
droppedclass = 'class' + $(this).attr('name').toLowerCase();
//update the classes so that it looks od.
ui.draggable.removeClass(draggedclass).addClass(droppedclass);
ui.draggable.removeAttr('style');
});
Если div
слева фактически находятся в li
справа ( что вы можете подтвердить с помощью Firebug), и если все li
находятся в ul
(как и должно быть), попробуйте одно или оба из следующих вариантов:
ul#right_div {
text-align: center;
}
ul#right_div li {
text-align: center;
}
Спасибо за ваш пост - он помог мне в правильном направлении. Я нахожу, что немного чище установить свойства позиции перетаскиваемого объекта вместо того, чтобы возиться с HTML-кодом. Это устанавливает позицию в левый верхний угол объекта droppable
, но вы можете изменить ее так, чтобы она была центрирована.
drop: function(event, ui) {
$(ui.draggable).css('top', $(this).position().top);
$(ui.draggable).css('left', $(this).position().left);
}