js原生offsetParent解析,jsoffsetparent
offsetParent是個唯讀屬性,返回最近顯示指定位置的容器元素的引用。如果元素沒有指定位置,最近的元素或者根項目(標準模式下是html,怪異模式下是body)就是offsetParent。當元素的style.display='none'時,offsetParent返回null。由於offsetTop和offsetLeft是相對於頁面邊界,因此offsetParent是非常有用的。 瀏覽器安全色性 在以WebKit為核心的瀏覽器上,如果元素是隱藏的(該元素或者上階項目style.display='none')或者元素自身style.position='fixed',那麼就會返回null。 在IE(9)上如元素style.position='fixed',該屬性就會返回null。(然而display:none不影響這個瀏覽器)
<!DOCTYPE html><html><head> <meta http-equiv="content-type" content="text/html;charset=UTF-8"/> <title>offsetParent屬性</title> <style type="text/css"> div { margin: 5px; } #div11 { border: 2px solid #0000ff; } #div21 { position: relative; border: 2px solid #ffff00; } #div30 { position: relative; border: 2px solid red; } #div31 { } </style> <script type="text/javascript"> function initPage() { getOffsetParent('div12'); //BODY getOffsetParent('div22');//DIV getOffsetParent('div32');//BODY } function getOffsetParent(id) { var divEl = document.getElementById(id); var el = divEl.offsetParent; console.log(el.nodeName); console.log('element id is ' + el.getAttribute('id') || ''); } </script></head><body onload="initPage()"><div id="div11"> <div id="div12">測試1</div></div><div id="div21"> <div id="div22">測試2</div></div><div id="div30"> <div id="div31"> <div id="div32">測試3</div> </div></div></body></html>
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.offsetParent
js eoffsetParent代碼
e是一個控制項的id,以上代碼的作用就是擷取頁面控制項的絕對位置,
js offsetParent
anchor = anchor.offsetParent;
得到基於上級節點的位移,這個是相對位移量
你這段代碼是尋找某個節點的絕對位移量的。