1. ホーム
  2. position

[解決済み] 親コンテナからの相対的な要素の位置/オフセットを取得しますか?

2022-04-25 19:32:13

質問

私はjQueryの操作に慣れています。しかし、私の現在のプロジェクトでは、zepto.jsを使用しています。Zeptoは position() メソッドがあります。Zeptoに付属しているのは offset() .

純粋なjsまたはZeptoで、親に対するコンテナのオフセットを取得する方法について何か考えがありますか?

どのように解決するのですか?

警告: jQuery、標準の JavaScript ではありません。

element.offsetLeftelement.offsetTop を基準とした要素の位置を見つけるための純粋な javascript プロパティです。 offsetParent の位置を持つ最も近い親要素である。 relative または absolute

または、常に ゼプト で要素の位置とその親の位置を取得し、単純にその2つを引き算します。

var childPos = obj.offset();
var parentPos = obj.parent().offset();
var childOffset = {
    top: childPos.top - parentPos.top,
    left: childPos.left - parentPos.left
}

これは、親が位置決めされていなくても、その親に対する子の相対的なオフセットが得られるという利点があります。