2012-03-04 5 views
0

私は自分のドラッグ可能なスクリプトの更新に取り組んでいます。jquery-uiが要素の相対的な位置をどのように設定できるのかと疑問に思っています。相対的に配置されて浮かんでいる?jquery-ui-draggableはposition:relativeの使用をどのように許可しますか?

現時点では、私の現在のスクリプトは任意の要素をとり、その位置を取得しますが、ドラッグすると絶対位置に設定します。その結果、すべての要素がその場所に移動します。私はドラッグ可能だものを(実際には非効率です)移動したときに、絶対:

私の2つだけのアイデアをしています

a)に自動的に位置をページ上のすべての要素を設定します。

b)正確な位置に残る現在の要素の不可視コピーを作成します。

と本質的に実施するために:私は、どちらかのステップAまたはBが全くも必要であるかどうかを決定することができる

var e = document.getElementById('div'); 
console.log(document.defaultView.getComputedStyle(e, null).getPropertyValue("position")); 

れます。

しかし、私にはわかりますが、私にはjquery-ui-draggableのようなものはありません。ここで

は、この使用してjQueryの-UI-ドラッグの例である:http://jsfiddle.net/aNk6e/17/

私は同じ効果ことを達成できますか?

+0

>正確な位置に残る現在の要素の不可視コピーを作成します。 私はこれを達成するために以前に行ったことがあります – Madd0g

+0

私は最後の手段としてそれを使用するつもりですが、私はすべてのオプションを学びたいと思っていますし、確かに良い方法があります。私は確かにそれはどのような要素がドキュメントに追加されているかどうかを確認したので、何も追加されていないので、jquery-uiがそれを行う方法ではないと確信しています。 – person0

+0

これは 'position:relative'でこれを示すデモへのリンクを与えることができますか? – Madd0g

答えて

0

これはposition: relativeの動作方法です。要素は元の位置にあるかのように文書に影響を与えますが、移動することができます。要素が元の位置にあったが、エレメントを移動したかのように、他の2つの項目はまだどのように影響を受けるか

http://jsfiddle.net/aNk6e/18/

お知らせ:

このフィドル考えてみましょう。

topleftを操作するだけで、ドキュメントフロー内の他の要素に影響を与えずに要素を移動することができます。

+0

うわー、私は自分のコードを書いたときにそれを覚えていないのは馬鹿だと感じます。さて、要素の位置が相対的なものか絶対的なものかを判断する最も良い方法は何ですか?スタイルシートが常に外部にあると仮定しますか?私は上記のすべてのブラウザの最新バージョンで動作する方法を知っていますが、より互換性のある方法はありますか? – person0

関連する問題