2

我正在寫在JavaScript中一個簡單的紙牌遊戲,我想有一個「卡」 img播放時捕捉到它的目標。我通過從當前父項中刪除img並將其放入新父項(目標)來完成此操作。然而,當我放置img在與jQuery的.appendTo(),卡捕捉到屏幕的角落新的容器。移動一個jQuery可拖動()元素,以新的父

看到這個demo的工作示例。

是否有一個原因的div捕捉到屏幕的角落時,它的移動到一個新的父?我想知道當我更改div的父項時,是否有遺留/遺失的css屬性。

任何幫助,將不勝感激。

- 編輯 -

其他信息:儘管已經建議我只需把它添加到我的下落處理器(工作) -

$(ui.draggable).css({'top' : '0', 'left' : '0'});

我想.animate()到這個位置,所以瞬間不是瞬時的。儘管卡片確實在最終位置上出現,但它首先會卡到角落,然後進入正確的位置。我想避免第一次突然到達角落。

回答

3
$(ui.draggable).css({'top' : '0', 'left' : '0'}); 

對不起,我不得不離開工作,但試試這個:

$("#target").droppable({ 
    drop: function (event, ui) { 
     var offset = $('#target').offset() 
     var top = parseInt($(ui.draggable).css('top')) - offset.top; 
     var left = parseInt($(ui.draggable).css('left')) - offset.left;    
     $(ui.draggable).appendTo("#target"); 
     $(ui.draggable).css({'top' : top, 'left' : left}) 
     $(ui.draggable).animate({ 
     top: 0, 
     left: 0   
     }, 500, function() { 
     // Animation complete. 
     }); 
    } 
}); 

http://jsfiddle.net/hsjvP/22/

+0

感謝您的評論 - 這是我的問題是如何措辭首先一個完美的解決方案。不幸的是,它有點複雜 - 請參閱我的編輯。 – 2012-08-03 14:48:26

相關問題