JavaScriptは、ブラウザのキャンバスの絶対位置を取得します.

755 ワード

avaScriptでは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を取得し、さらにそれを加えて、最終的にブラウザ全体の画布に対する縦軸に再帰する.横座標も同じです