JavaScript в файрфоксе (3.6.16 под убунтой) работает как-то странно: функция
Math.floor
, когда вызвана из скрипта, не желает округлять свой аргумент — координаты элемента и возвращает его в неизменном виде, с длинным хвостом из знаков после запятой. Хотя при вызове из отладочной консоли работает вполне исправно.
В других браузерах (MSIE, Opera, Chrome) координаты целочисленны, но отображаемый и скрываемый скриптом на jQuery элемент скачет по всей странице, вместо того, чтобы сидеть на одном месте. Похоже, каким-то образом его абсолютное позиционирование становится относительным.
Нашёл методом тыка странный костыль: при скрытии элемента загоняю его в угол:
$('#strange').offset({top:0, left:0});
После чего, при следующем отображении, элемент встаёт в нужную позицию.