jsは要素のブラウザ内の絶対位置を取得します.
783 ワード
JavaScriptではHTML要素の位置を取得する属性を提供しています.
HTMLEMEnt.offset Left
HTMLEMEnt.offset Height
しかし、これらの2つの属性が格納されている値は、この要素がブラウザ全体の画布の絶対位置に対してではなく、その親要素の位置の相対位置、つまり、その親要素の左上隅を(0,0)点として計算した値であることに留意されたい.HTML要素の絶対位置はどうやって得られますか?以下の関数が使えます.
HTMLEMEnt.offset Left
HTMLEMEnt.offset Height
しかし、これらの2つの属性が格納されている値は、この要素がブラウザ全体の画布の絶対位置に対してではなく、その親要素の位置の相対位置、つまり、その親要素の左上隅を(0,0)点として計算した値であることに留意されたい.HTML要素の絶対位置はどうやって得られますか?以下の関数が使えます.
//
function getTop(e){
var offset=e.offsetTop;
if(e.offsetParent!=null) offset+=getTop(e.offsetParent);
return offset;
}
//
function getLeft(e){
var offset=e.offsetLeft;
if(e.offsetParent!=null) offset+=getLeft(e.offsetParent);
return offset;
}
その原理はHTMLEMEnt.offset Partent属性を利用して、現在の要素の親要素が空でない場合、元のoffset Topに現在のoffset Topを加えて、親要素の親要素のoffset Topを取得し、さらにそれを加えて、最終的にブラウザ全体の画布に対する縦軸に再帰する.横座標も同じです.