我有一個通用的HTML這樣如何實現拖動以更改相對定位元素的順序?
<div>
<span>Item 1</span>
<span>Item 2</span>
<span>Item 3</span>
<span>Item 4</span>
</div>
,我需要實現一個拖動以改變順序,能夠每個項目拖放改變順序,就像你可以在文本中拖動圖像編輯器並將其放在單詞之間,類似於您在ios或Mac Dock中的郵件中使用文本的方式。
像這樣:http://img5.imageshack.us/img5/1921/v57sibdzorpefuaqozisso.mp4
當用戶拖動它,改變順序,我需要實際的DOM是按照這個順序,而不是僅僅出現在屏幕上時,你不喜歡position:absolute
。
我的第一個想法是將元素提升到絕對位置,計算座標,當你放下時,計算它應該相對於其他元素的位置,然後返回position:relative
。
但我不確定這是否是一個好方法,並且實現不是很簡單。 這不是我認爲的優雅解決方案,我擔心它會變得不平穩。
我很喜歡香草javascript然後jquery,但它可以幫助我實現我自己的。
我已經實現了拖動和放置在JavaScript中,但絕對定位的元素,它不適用於相對定位的元素。
我期待的想法。
http://jsfiddle.net/Victornpb/BWU3m/
那麼絕對定位元素的代碼在哪裏工作? –
@OneTrickPony http://jsfiddle.net/Victornpb/BWU3m/1/ –