2013-03-04 4 views
0

У меня есть элементы с margin:0px auto; набор, который я пытаюсь перетащить. Когда начинается перетаскивание, элемент смещается влево, не учитывая автоматический запас. Слегка перемещается по левому краю курсора. Я пытаюсь перетащить элемент в droppable, который находится справа от элемента. Из-за этого смещения droppable не активируется. Если я изменил размер окна так, чтобы автоматическое поле почти ничего не произошло, элемент будет правильно активировать droppable.jqueryui draggable смещение смещения при перетаскивании

Я пробовал cursorAt и менял css перетаскиваемого внутри функции перетаскивания, но ни один из них не работает. То же самое происходит с помощником клона. Если я утешу функцию перетаскивания, похоже, что она работает, но элемент фактически не смещается вправо там, где он должен быть.

start: function(e, ui){ 
      $(ui.helper).addClass("ui-draggable-helper"); 
      window.cloneoffset = parseInt($(this).css('margin-left')); 
      console.log(window.cloneoffset); 
     }, 
     // cursorAt:{left:window.cloneoffset} 
     drag:function(){   
      $('.ui-draggable-helper').css('left',(parseInt($('.ui-draggable-helper').css('left'))+window.cloneoffset)+'px');    
     } 

ответ

3

Welp, оказывается, я работал вокруг него, поставив еще один DIV вокруг Draggable, который делает запас авто части и удалить запас авто от перетаскиваемого.

+0

Это идеальное решение. Я использовал [это расширение jquery] (http://stackoverflow.com/a/2389549), чтобы упростить эту идею, чтобы он не разворачивался с использованием '.unwrap ('. Selector');' при множественных действиях перетаскивания – adamell

Смежные вопросы