| <!DOCTYPE html> |
| <html> |
| <head> |
| <script> |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| function log(str) { |
| var li = document.createElement("li"); |
| li.appendChild(document.createTextNode(str)); |
| var console = document.getElementById("console"); |
| console.appendChild(li); |
| } |
| |
| function findPosX(obj) { |
| var ret = 0; |
| do { |
| ret += obj.offsetLeft; |
| obj = obj.offsetParent; |
| } while (obj); |
| return ret; |
| } |
| |
| // This code was reduced from the menu system on doula.co.il which is why we call offsetParent.offsetLeft rather than |
| // just retreiving the element directly. |
| function printDivPlacement() { |
| var the_node = document.getElementById('menu_node'); |
| log("node.offsetParent.offsetLeft=" + the_node.offsetParent.offsetLeft + " (Should be 302 as in FF and IE)"); |
| log("findPosX=" + findPosX(the_node.offsetParent) + " (Should be 302 as in FF and IE)"); |
| } |
| </script> |
| </head> |
| <body onload="printDivPlacement()"> |
| <div style="position:absolute; top:0px; left:0px; width:800px; background-color:#C3DCBF;"> |
| <table width="200px" style="margin: auto;"> |
| <tr> |
| <td style="position:relative"> |
| <div id=menu_node>Menu Node</div> |
| </td> |
| </tr> |
| </table> |
| </div> |
| <br><br> |
| <h3>This test verifies that offsetLeft is calculated correctly for a relatively positioned td element.</h3> |
| <ul id=console></ul> |
| </body> |
| </html> |