javascript - Difference between offsetParent and parentElement or parentNode -
i have following dom structure
<body> <div> <table> <outerelement> <innerelement /> </outerelement> <table> </div> </body> div has it's overflow set auto if table grows bigger - scrolls within div.
in scenario why table.offsetparent returns body while both table.parentnode , parentelement return div?
i need calculate current position of innerelement within window, traverse thru parent elements, collecting offsettop , offsetleft values. until div offsetparent works fine , skips directly body. problem if there's scrolling involved @ point, need account scrolltop , scrollleft - in div in above example. problem if use offsetparent never encounter div 1 of parents.
update
this part of code traversing:
while (oelem && getstyle(oelem, 'position') != 'absolute' && getstyle(oelem, 'position') != 'relative') { curleft += oelem.offsetleft; curtop += oelem.offsettop; oelem = oelem.offsetparent; } where getstyle custom function in case retrieves position style.
stay clear of offsetparent, you'll have add lots of hacks , checks ensure right.
try using getboundingclientrect instead.
Comments
Post a Comment