ターゲット要素がどこでどこに移動するかにかかわらず、別の要素の上に配置する必要があるHTML/DOM要素があります。1つの要素を別の要素の上に置く
さまざまな(そして残念な)理由から、単純なCSSの相対的な配置ではこれを行うことができません。再配置したい要素は、対象要素の親の直下の子にすることはできません。
jQueryのoffset()関数を使用して、要素をターゲット要素に簡単に配置できます。ただし、ターゲット要素が移動すると、再配置された要素は追跡されません。ブラウザの寸法を変更することは、これが起こりうる1つの方法(そして私が心配する主な方法です)です。レイアウトが変更され、ターゲット要素のオフセットが変更されます。ここで
は私の文書の大まかな構造です:
<div id="common-ancestor">
<div id="to-reposition-container">
<div id="to-reposition"></div>
</div>
<div id="some-stuff-in-between"></div>
<div id="target-container">
<div id="target"></div>
<div>
</div>
私は#to-reposition
が視覚的にDOMツリーを変更することなく、#target
の上に置くことにしたいです。私は、#target
を自然界の外に#target-container
の位置に置くことは絶対にできません。
CSS、JavaScript、および/またはjQueryを使用するソリューションにはオープンしています。
おそらく、共通の祖先をアンカーとして使用できます。しかし、その解決策は具体的なレイアウトに依存しています。私はあなたがレイアウトに関する詳細を提供すべきだと思います。 –
いくつかのサンプルコードを提供し、あなたが試したことをお見せしてください。 – nedk
@nedk:私がしたのは、jQueryの一度だけの再配置でした。 '$("#to-reposition ").offset($("#target ")。offset());'ページサイズが変更されるまでうまくいきました。 'target'のオフセットが変わったので、' to-reposition'のオフセットも変更しなければならないことに気付きました。 –