2011-06-30 29 views
0

我對使用(JQuery(Ui))實現拖動多個選定元素的最佳方法感興趣。拖動多個選定元素

在我使用這段代碼

// Make all divs inside draggableArea draggable 

$("#dragableArea div").draggable({ 

    start : function() { 

    } 

    drag : function() { 
      // Calculate position of other selected elements here 
      // by hand 
    } 

    stop : function() { 

    } 

}); 

我很好奇,想知道是否有一些更好的方法來達到同樣的事情的那一刻? 我想觸發所有選定項目上的拖動事件,以便拖動它們時自動移動。是否有可能,如果是的話(至少在理論上)如何?

回答

1

嘗試了這一點:根據我的答案(和評論)http://jsfiddle.net/maniator/zVZFq/5/

這裏:How do I drag multiple elements at once with JavaScript or jQuery?

點擊激活多點拖動。

+0

雖然您的示例工作正常,但當您單擊紅色方塊時,它會在您單擊它變成紅色方塊之前返回其原始位置。 – Ivan

+0

@ivan - 我承認這是有點錯誤,但它的開始 – Neal

+1

可以理解的,你的例子的主要點是可以完成多個拖動。 +1。 – Ivan

1

下面是一個基於Neal解決方案的工作組移動,但可能更具可讀性(對我來說)以及評論:http://jsfiddle.net/stevea/CrJbQ/。它像一個圖形程序的「組」功能。點擊您想要分組的框。這使他們成爲一個「集體飛機」。通過拖動它或任何分組框來移動組平面。單擊組平面以取消組合框的組合,將它們留在新的位置。

<div id='box1' class='box'></div> 
<div id='box2' class='box'></div> 
<div id='box3' class='box'></div> 
<div id='box4' class='box'></div> 
<div id='group'></div> // group plane