offset() problem

offset() problem

Hi,
I'm new here!
I'm having problems with the offset(coords) method. here's the code
  1. $(this).hover(function()
  2. {
  3.     var liHover = $(this);
  4.     longName.text(liHover.find("span.hide").text());
  5.     var coords = liHover.offset();
  6.     longName.offset({top: coords.top - 4, left: coords.left - 8});
  7.     longName.show();
  8.     …
This is a part of a function of a object that, if a list entry is too long, it shortens it and displays a custom tooltip with the whole name if you make an hover on it it.

To display the tooltip in the right position I take, using offset, the position of the <li> (liHover) and give this coords (adjusted a bit) to the tooltip(longName). 

But when I try it it behave akwardly. The position of the tooltip is quite distant from the li! it's more or less like the offset is calculated from the li, not from the document. and if I let the tooltip disappear and hover again on li, the tooltip change again position and it is like the offset is calculated on the tooltip position this time. third strange behaviour: if I disable the disappearing of the tooltip and while is positioned far from the <li> I hover again (on the li), this time the tooltip take the right position!

do you have some ideas?