NOTE: I posted this in the general forum... http://groups.google.com/group/jquery-en/browse_thread/thread/c368a202fe911a9d?hl=en# ...but got no response, so am reposting here because it appears to be an issue with core functionality...
I get erratic results when trying to get the position of a LI element. Every browser gives different results - only IE7 seems to get it right. I have a navbar UL element nested a few levels deep within DIVs that provide page structure. The UL is also nested within a SPAN (inline- block) so the UL element can be centered within DIV#Nav1. A stripped- down version of the HTML is shown at bottom. The LI elements trigger a custom drop-down menu onHover. I use simple math to calculate the positioning of the DIV that acts as a menu... var $LI = $(this) // LI element , tabOffset = $LI.offset() , menuTop = tabOffset.top + $LI.outerHeight() , menuLeft = Math.floor(tabOffset.left) ; In IE7, this works perfectly - exactly as you would expect. But every other browser has one or more issues... Internet Explorer 7 $LI.offset().left = CORRECT $LI.offset().top = CORRECT $LI.position().top = 0 - CORRECT Chrome 3.0.195.21 $LI.offset().left = the Left-edge of the 'parent' UL element! $LI.offset().top = CORRECT $LI.position().top = 0 - CORRECT FireFox 3.5 $LI.offset().left = the Right-edge of the 'parent' UL element $LI.offset().top = too small by 15px $LI.position().top = -15 -- wrong, the LI has NO top-margin Opera 9.64 $LI.offset().left = the Right-edge of the 'parent' UL element $LI.offset().top = CORRECT $LI.position().top = -19, even though offset().top is correct Only IE gets $LI.offset().left correct. Only IE and Chrome get $LI.position().top right (0), but IE, Chrome and Opera all get $LI.offset().top correct, even though Opera reports $LI.position().top wrong (-19). Only FireFox gets everything wrong! Can anyone shed any light on these discrepancies? I will spend the time to create and post a test page if no one can offer any clues, but I have not done so yet. Thanks in advance. /Kevin <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <DIV id="Layout-Header"> <DIV class="layout-header"> <DIV id="TopNavbar" class="navbar"> <DIV id="Nav1"> <SPAN class="center"> <UL class="tabs"> <LI><A href="/rentals">Rentals</A></LI> <LI><A href="/linens">Linens</A></LI> <LI><A href="/services">Services</A></LI> <LI><A href="/planner">Planner</A></LI> <LI><A href="/gallery">Gallery</A></LI> <LI><A href="/community">Community</A></LI> <LI><A href="/about">About Us</A></LI> </UL> </SPAN> </DIV> </DIV> </DIV> </DIV> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "jQuery Development" group. To post to this group, send email to jquery-dev@googlegroups.com To unsubscribe from this group, send email to jquery-dev+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/jquery-dev?hl=en -~----------~----~----~----~------~----~------~--~---