2015-01-26 122 views
1

我正在開發一個拖放應用程序。我有一個可拖放的容器和可拖動的。jQuery拖動時可拖動的克隆大小

$("#dragshock").draggable( 
    { 
     helper: "clone", 
     cursor: 'move', 
     drag: resizeContainer 
    } 
); 

通過拖放調用的函數是這個:

function resizeContainer(e, ui) { 
    var defaultSize = 108; 
    var factor = ((ui.position.top)/19); 
    var correcteSize = defaultSize + factor; 
    $(this).width(correcteSize); 
} 

可放開容器上的功能是這個:

$("#selectedpicture").droppable({ 
    drop: function (event, ui) { 
     var $canvas = $(this); 
     if (!ui.draggable.hasClass('canvas-element')) { 
      var $canvasElement = ui.draggable.clone(); 
      $canvasElement.addClass('canvas-element'); 
      $canvasElement.draggable({ 
       containment: '#geselecteerdefoto' 
      }); 
      $canvas.append($canvasElement); 
      var defaultSize = 108;formaat 
      var factor = ((ui.position.top)/19); 
      var correcteSize = defaultSize + factor; 
      var imgSize = correcteSize; 

      $canvasElement.css({ 
       left: (ui.position.left), 
       top: (ui.position.top), 
       width: imgSize, 
       position: 'absolute' 
      }); 
     } 
    } 
}); 

目前, 「拖動:resizeContainer」在可拖動的內部行中拖動的容器在拖動時調整大小,而不是鼠標指針後面的克隆。

雖然我想實現的是WHILE拖動,但在容器內拖動時,對象allready可視化地調整大小。下降後,應該保持調整大小。

http://jsfiddle.net/q7zkpc6s/

回答

2

我找到了解決方案。那時我覺得比較容易。

替換$(本).WIDTH(correcteSize)線內resizeContainer與

$(ui.helper).width(correcteSize); 

我的小提琴更新到正確的以備將來參考。