JQuery UI Draggable Absolute вместо относительного?
У меня есть div, содержащий несколько перегрузок jquery, однако, если в любой момент я удаляю одну из этих перетаскиваемых страниц со страницы, это может перемещать остальные из них, поскольку они расположены с относительным.
Вот скрипка, демонстрирующая это:
http://jsfiddle.net/VolatileStorm/aNk6e/
Мое предлагаемое решение состоит в том, что draggable должен использовать абсолютное, а не относительное позиционирование, однако я не могу найти способ сделать это. Есть ли способ сделать это, а если нет, может кто-нибудь подумать об этом? (Для элегантности я не буду принимать "не удалять другие перетаскиваемые" ).
Ответы
Ответ 1
Почему position:absolute
не работает?
Так как абсолютно позиционированные элементы больше не являются частью потока документа, каждый из трёх <div>
помещается в 0,0
его содержащего (позиционированного) элемента. Таким образом, вам решать исходную позицию ваших перетаскиваний.
Ответ 2
- Добавьте
position:absolute
к вашим элементам.
- Прикрепите их к DOM перед вызовом
.draggable
.
Ответ 3
Вы можете установить абсолютное положение, используя функцию jQuery css при установке элемента для перетаскивания.
$(this).draggable().css("position", "absolute");
Ответ 4
Возможно, не лучшие идеи, но... Вы могли бы позиционировать все соответствующие div с помощью positon: relative; а затем включить вызов функции в ваш или $( "document" ). ready(), если вы используете jQuery, который выполняет итерацию через каждый из divs, чтобы перевести их относительные позиции в абсолютные и установить их как их левое, верхнее изменяя их в положение: абсолютное. Единственная проблема заключается в том, что вы хотите, чтобы каждая позиция Divs была абсолютной до обновления их стилей, чтобы не изменять макет с помощью итерации.