1. ホーム
  2. javascript

[解決済み] Javascriptでページ上のオブジェクトの絶対位置を取得するにはどうすればよいですか?重複

2022-12-16 08:28:53

質問

私はJavascriptでページ上のオブジェクトの絶対X,Y位置を取得したいです。 どのように私はこれを行うことができますか?

私は試してみました obj.offsetTopobj.offsetLeft などがありますが、これらは親要素からの相対的な位置を与えるだけです。 ループして、親のオフセットを追加し、その親のオフセットを追加し、親のないオブジェクトに到達するまで、ループすることができると思いますが、より良い方法があるように思えます。ググってもあまり出てこないし、SOサイト検索でも何も出てきません。

あと、jQueryが使えません。

どうすればいいのでしょうか?

var cumulativeOffset = function(element) {
    var top = 0, left = 0;
    do {
        top += element.offsetTop  || 0;
        left += element.offsetLeft || 0;
        element = element.offsetParent;
    } while(element);

    return {
        top: top,
        left: left
    };
};

(PrototypeJSから盗んだメソッド。)