1. ホーム
  2. jquery

[解決済み] jQueryで、要素の "top,left "プロパティに、ドキュメントではなく親からの相対的な位置を設定するにはどうしたらよいでしょうか。

2022-03-03 05:03:31

質問

.offset([coordinates]) メソッドは、要素の座標を設定しますが、ドキュメントからの相対座標のみです。では、親からの相対座標で要素の座標を設定するにはどうすればよいのでしょうか?

私が見つけたのは .position() メソッドは、親からの相対的な値として "top,left" を取得するだけで、値を設定することはありません。

で試してみました。

$("#mydiv").css({top: 200, left: 200});

が、うまくいきません。

解決方法は?

親からの相対的な位置を設定するためには position:relative の親と position:absolute 要素の

$("#mydiv").parent().css({position: 'relative'});
$("#mydiv").css({top: 200, left: 200, position:'absolute'});

これは、次のように動作します。 position: absolute; の位置は、相対的に最も近い 位置づけ の親(つまり、デフォルトの static ).