Положение JQuery UI постоянно меняются - PullRequest
0 голосов
/ 28 ноября 2011

Я разработал небольшой плагин всплывающей подсказки. он отлично работает в IE, Chrome. В Firefox он работает нормально с первого раза. во второй раз, когда я обновляю всплывающую подсказку, это странное положение ... не уверен, что происходит.

вот шаги

  1. в Firefox сначала наведите указатель мыши на 1-е поле ввода --tooltip будет рядом с полем ввода

    1. затем прокрутите вниз до второго поля ввода и наведите курсор мыши на второе поле ввода - всплывающую подсказку рядом со вторым полем ввода.
    2. нажмите кнопку обновления в Firefox без прокрутки вверх.
    3. теперь наведите курсор мыши на первое поле ввода .. вы не увидите подсказку ..
    4. очистить историю и вернуться, вы должны увидеть подсказку рядом с полем ввода.

    -> firefox 3.6.24 / попытался обновить до firefox 8 все та же проблема

код находится в http://jsfiddle.net/HE8QN/

Скопируйте на рабочий стол и попробуйте в Firefox ...

спасибо

Ответы [ 2 ]

3 голосов
/ 30 ноября 2011

С 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 и некоторые другие небольшие изменения.

2 голосов
/ 28 ноября 2011

Я обнаружил, что position странно действует на элементы, которые еще не видны.Возможно, вы захотите расположить подсказку, когда она отображается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...