2012-07-27 109 views
3

我有一個元素,讓我們說一個div,我想能夠拖放到另一個div。如果元素沒有被拖入另一個div,我希望它回到它的初始位置。可拖動的div相對定位。所以,我的問題是最好的方法是什麼? jQuery UI中有沒有一種方法可以讓它回放?或者我將不得不編寫它?如果我這樣做,這是我的策略:動畫jQuery UI可拖動元素回到起始位置

  1. 獲得使用$('#draggableElement').css('left')拖動開始時的可拖動DIV的座標,$('#draggableElement').css('top')

  2. 上拖動完整的使用jQuery的.animate把它放回原處。

該策略是否正確?還是有更高效率的我可以做的?

+3

http://jqueryui.com/demos/droppable/#revert – 2012-07-27 08:43:30

+0

你可以嘗試使用WebKit的這種東西,但上面的評論回答你的問題! – Shouvik 2012-07-27 08:43:34

+0

謝謝瑞恩,上次我檢查時,我可以發誓不在那裏! – 2012-07-27 09:19:42

回答

2

看一看this

,也許一個jQuery ui draggable選項的幫手 - >幫手。

我認爲這應該對你有幫助。如果沒有,請說明你的問題。

+0

輔助對象是什麼?無法從文檔中找出 – 2012-07-27 09:41:13

+0

助手是被拖動的對象。這意味着你可以修改跟在鼠標後面的html元素。查看http://jqueryui.com/demos/draggable/#visual-feedback瞭解不同的幫助器樣式。 – p0wl 2012-07-28 11:00:42

2

您需要設置revert: 'invalid'

例如:

$("#draggablediv").draggable({helper : "clone", revert: "invalid" }); 

helper:clone使得克隆當您嘗試拖動它,當你不放棄它在該地區的revert: "invalid"返回克隆他的開始位置。

如果你想回到自己的位置上dragable使用revert: "true"

請參閱http://api.jqueryui.com/draggable/#option-revert

相關問題