2017-02-11 50 views
0

我感覺真的很愚蠢,因爲這一個,但我認真無法弄清楚。見我有我的拖拽元素兩個要求,我想從一個滾動側面菜單移動到另一個DIV:jQuery droppable絕對定位和redraggable在同一時間

  • 我希望他們在這裏我把它們
  • 位置被丟棄我想他們是可拖動一次,一旦他們丟棄

現在愚蠢的部分是,我設法實現這兩個,但不知何故無法讓他們在同一時間工作。

當我鍵入這個redragging工作完全正常,但拖格捕捉到左上:

jQuery('#droppable').droppable({ 
    accept: '.drag', 
    drop: function(e, ui) { 
     if (!ui.draggable.hasClass("dropped")) 
      jQuery(this).append(jQuery(ui.draggable).clone().addClass("dropped").draggable()); 
     } 
    }); 

但當我添加代碼來定位它,但它確實是不錯,但一旦它的下降,這是永遠丟棄(原來也不能再次拖)

jQuery('#droppable').droppable({ 
    accept: '.drag', 
    drop: function(e, ui) { 
     if (!ui.draggable.hasClass("dropped")) 
      var parentOffset = jQuery('#droppable').offset(); 
      var dropped = jQuery(ui.draggable).clone().addClass("dropped").draggable(); 
      dropped.css('left', (ui.position.left - parentOffset.left) +'px'); 
      dropped.css('top', (ui.position.top - parentOffset.top) +'px'); 
     jQuery(this).append(jQuery(ui.draggable).clone().addClass("dropped").draggable()); 
     } 
    }); 

我有一種感覺,我在做一些非常基本的錯誤:) 誰能幫助我? 在此先感謝!

回答

1

好吧,明白了。如果有其他人有這個問題,這對我來說是這樣的:

jQuery('#droppable').droppable({ 
    accept: '.drag', 
    drop: function(e, ui) { 
     var parentOffset = jQuery('#droppable').offset(); 
     var off = $(ui.draggable).clone().offset(); 


     if (!ui.draggable.hasClass("dropped")) 
      jQuery(this).append(jQuery(ui.draggable).clone().addClass("dropped").draggable().css({'position': 'absolute', 'left': (ui.position.left - parentOffset.left) + 'px', 'top': (ui.position.top - parentOffset.top) + 'px'})); 


     } 
    });