0

コンテンツが動的に変化するページで、jquery UI のドラッグ可能なオブジェクトを使用したいと考えています。残念ながら、1 つの div のコンテンツが変更されると、他の div も移動することがよくあります。この動作を防ぐ方法はありますか?

理想的には、スナップされた関係がコンテンツの変更後も保持され続けることを望みます。それができない場合は、div の位置が他の div のサイズの変更を単純に無視していれば素晴らしいことです。

これが私が何を意味するかを見ることができるjsfiddleです。

4

1 に答える 1

0

配置する必要があります:divを相対的ではなく絶対にします。次に、コンテナーを相対的に配置して、内部の div をコンテナーに対して相対的な位置に保つ必要があります。

CSS の更新:

#container{
    width:600px;
    margin:auto;
    padding:20px;
    position: relative;
}
.box{
    width:50%;
    padding:20px;
    border:2px solid black;
    position:absolute;
}​

他にも解決しなければならない問題があります。最初のレンダリングでは、2 つのボックスが重なります。最初に重複しないように、上/左の css 値を事前定義する必要があります。これは、html (事前に高さを知っておく必要があります) または javascript (一度にすべてをロードするのに少し時間がかかる場合、スナップが発生する可能性があります) を使用して実行されます。

警告。一般的に、絶対配置の div は良い習慣とは見なされません。何をしようとしているのかを説明したいと思うかもしれません。該当する場合は、より良い解決策が見つかる可能性があります。この答えはあなたが望むことをするかもしれませんが、それをどのように使用しているかによって、おそらくそうすべきかどうかが決まります. レイアウト用の場合は、すべてを再配置して再配置する必要があるため、メンテナンスがかなり重くなる可能性があります。コンテナー内の各 div ボックスは絶対に配置され、互いに無視されます。div に続くカスタム ボタンやメニューのように、子アイテムを親に対して相対的に配置することは、絶対配置アイテムの良い使い方です。

于 2012-06-27T19:58:32.720 に答える