2012-03-20 89 views
0

我正在嘗試使用原型製作新的可拖動元素。第一個元素被添加並且可拖動,但是如果我點擊添加另一個元素,則第二個元素不可拖動。以下是我迄今爲止:具有原型的可拖動元素

var i = 1; 
function addDragElement() { 
     var str = i + '.png'; 
     var attrs = { 
      src : str, 
      class : 'product-tag-image', 
      id : 'product-tag-image' + i, 
     }; 
     var img = new Element('img', attrs); 
     $('look-image').insert(img); 

     new Draggable(img, 
      { onEnd : function(){ 
       alert(img.offsetTop + ", " + img.offsetLeft); 
      } 
     }); 
     i++; 
} 

任何想法,爲什麼第一個會工作,但添加任何其他元素不靈驗呢?

回答

0

我得到了這個工作。我用$(document.body').insert(img)替換了$('look-image').insert(img);;

我沒有得心應手的形象,所以我加了一些CSS,使您插入的圖片可見:

.product-tag-image { 
    width:50px; 
    height:50px; 
    display:block; 
    border:1px solid #ff0000  
} 

似乎罰款。你有任何JS錯誤? (我起初是因爲忘記包含Scriptaculous)。

+0

我有一個元素的外觀圖像的id,這是可拖動的項目插入的位置。沒有錯誤,插入的第一個工作正常,當拖動完成時,我會得到頂部和左側的值。但是我需要添加多個項目並使它們可拖動,這就是它打破的地方,添加的第二個項目不能使用這個拖動。 – sudopratt 2012-03-20 22:44:38

+0

它對我來說絕對很好:http://jsfiddle.net/Diodeus/yxxEr/ – 2012-03-21 13:26:32