하면两个函数可以获取绝对位置的横坐标和纵坐标.
有了绝对位置以后,获得佮对位置就很容易了, 只要将绝对坐标减去页面的滚动条滚动的距离就可以了.滚动条滚动的垂直보기属性.
while (current !== null){
actualLeft = current.offsetLeft;
current = current.offsetParent;
}
if (document.compatMode == "BackCompat"){
var elementScrollLeft=document.body.scrollLeft;
} else {
var elementScrollLeft=document.documentElement.scrollLeft;
}
실제Left-elementScrollLeft를 반환합니다.
}
function getElementViewTop(element){
var ActualTop = element.offsetTop;
var current = element.offsetParent;
while (현재 !== null){
actualTop = 현재. 오프셋상단;
current = current.offsetParent;
}
if (document.compatMode == "BackCompat"){
var elementScrollTop=document.body.scrollTop;
} else {
var elementScrollTop=document.documentElement.scrollTop;
}
실제Top-elementScrollTop을 반환합니다.
}
scrollTop 属性とscrollLeft 属性には値を割り当てることができ、Web ページを対応する位置に即座に自動的にスクロールするため、Web ページ要素の相対位置を変更するために使用できます。さらに、element.scrollIntoView() メソッドにも同様の効果があり、Web ページ要素をブラウザ ウィンドウの左上隅に表示できます。
6. 要素の位置を取得する簡単な方法 上記の関数に加えて、Web ページの位置を取得する簡単な方法があります。要素をすぐに削除します。
それは、getBoundingClientRect() メソッドを使用することです。これは、left、right、top、bottom の 4 つの属性を含むオブジェクトを返します。これらの属性は、ブラウザ ウィンドウ (ビューポート) の左上隅を基準とした要素の左上隅と右下隅の間の距離にそれぞれ対応します。 。
したがって、Web ページ要素の相対位置は
var
コードをコピー
コードは次のとおりです: var X= this.getBoundingClientRect().left document.documentElement.scrollLeft;
var Y =this.getBoundingClientRect().top document.documentElement.scrollTop; 現在、IE 、Firefox 3.0、および Opera 9.5 はすべてこの方法をサポートしていますが、Firefox 2.x、Safari、Chrome、および Konqueror はサポートされていません。