С jQueryUI - Позиция
Примечание: пользовательский интерфейс jQuery не поддерживает позиционирование скрытых элементов.
(И в результате это как-тоигнорирует смещение прокрутки страницы)
Вы можете обойти это, сделав его «невидимым блоком», задав ему следующие свойства CSS: display: block
и visibility: hidden
непосредственно перед использованием функции position()
, а затемудаляя их, если это необходимо.
Проверьте http://jsfiddle.net/frozenkoi/RmKyC/ Я добавил класс CSS (.hiddenTip
), который я добавил, а затем удалил прямо до и после вызова в tip.position({...})
(вы можете добавить стиль какtip.css. ...
У вас есть и другая проблема.Вы вычисляете положение всплывающей подсказки при загрузке страницы.Что происходит, когда элементы переставляются?Возможно, текст перекомпоновывается, потому что размер окна изменился, или вставлено содержимое, или элемент изменил размер.Подсказка по-прежнему отображается в старом предварительно рассчитанном месте.Я думаю, что именно об этом @Eben Roux говорил в своем ответе.
Нажмите на H1, который говорит «демонстрационная страница» в моей скрипке, и вы увидите, как она получает поле выше и все движется вниз,кроме всплывающих подсказок.
РЕДАКТИРОВАТЬ: Обновленная скрипка: http://jsfiddle.net/frozenkoi/wKTnC/ на основе модификаций @ coool.Обратите внимание, что я добавил !important
к display
и visibility
и некоторые другие небольшие изменения.