2011-02-09 126 views
0

這對我來說是一個複雜的問題。這是我想要的:jQuery多個可拖拽對象創建

我設計了一個可拖動的div,並且有一個實例已經在頁面上準備拖拽。當用戶拖動它時,我想動態地創建它的一個新實例。我也應該能夠通過點擊一個按鈕來移除它們,因此它們都應該是可訪問的。

你能指出我做這個的正確途徑嗎?

這是我到目前爲止有:

$(document).ready(function() { 

      $('#dragThis').resizable({ 
       stop: function(event, ui) { 
        var w = $(this).width(); 
        var h = $(this).height(); 
        var tr = $('#contentDiv'); 
        tr.each(function() { 
         //alert(fields[$(this).index()]) 
         $(this).height(h - 45); 
        }); 


        console.log('StopEvent fired') 
        console.log('Width:' + w); 
        console.log('Height:' + h) 
       } 
      }).draggable(
      { 
       containment: $('body'), 
       drag: function() { 
        var offset = $(this).offset(); 
        var offsetImage = $("#<%=dropHere.ClientID %>").offset(); 
        var xPos = offset.left; 
        var yPos = offset.top; 

        $('#posX').text('x: ' + xPos); 
        $('#posY').text('y: ' + yPos); 

       }, 
       stop: function() { 
        var finalOffset = $(this).offset(); 
        var finalxPos = finalOffset.left; 
        var finalyPos = finalOffset.top; 

        $('#finalX').text('Final X: ' + finalxPos); 
        $('#finalY').text('Final X: ' + finalyPos); 
       } 
      }); 

,這裏是我的html:

<div class="dragThis" id="dragThis"> 
        <div class="content" id="contentDiv"> 
         <p> 
          <asp:Label ID="lblContent" Width="2px" runat="server" Text="Label"></asp:Label> 
         </p> 
        </div> 
        <div class="pointer"> 
         <div class="one"> 
         </div> 
         <div class="two"> 
         </div> 
        </div> 
       </div> 

我目前能夠調整,拖動並獲得1個格的位置。我需要讓它適用於多個div。

請記住,我需要訪問這些div(在他們裏面的位置和文本 - 設置和獲取)

任何幫助表示讚賞。

謝謝

+0

有人嗎?來吧 :/ – Pabuc 2011-02-09 04:26:36

回答

0

將代碼包裝成可調用函數。然後,當你創建新的div你應該使用「消滅」的方法來destory的可調整大小+拖動(

$('#dragThis').resizable('destroy').draggable('destroy'); 

)目前的情況下,然後運行功能重新初始化可調整大小+拖動;