Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.12.2009, 20:37
Новичок на форуме
Отправить личное сообщение для Dionysius Посмотреть профиль Найти все сообщения от Dionysius
 
Регистрация: 11.12.2009
Сообщений: 5

jQuery datepicker + blockUI в Опере 9.27 проблема позиционирования
Здравствуйте.

Суть проблемы:
Использую jQuery с несколькими плагинами. Среди них blockUI для всплывающего окна и datepicker для выбора дат. Во всплывающем окне находится форма с полем ввода, к которому прикрепляется календарь. В Опере 9.27 он открывается не под полем ввода, а где-то в верхнем углу.
Через firebug обнаружил, что блоку с календарём задаётся свойство position:fixed. Если же календарь привязывается к полю ввода, которое находится в любом месте страницы (но не во всплывающем окне), то ему задаётся свойство position:absolute. Скриншот прилагаю
Как это победить?
Изображения:
Тип файла: jpg screenshot3.jpg (119.3 Кб, 10 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 11.12.2009, 23:13
Новичок на форуме
Отправить личное сообщение для Dionysius Посмотреть профиль Найти все сообщения от Dionysius
 
Регистрация: 11.12.2009
Сообщений: 5

Удалось выяснить, что в данном случае неверно считается позиция поля ввода - jQuery.offset().
Ответить с цитированием
  #3 (permalink)  
Старый 12.12.2009, 02:44
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

дай простейшую тестовую страничку, которая демонстрирует проблему
Ответить с цитированием
  #4 (permalink)  
Старый 12.12.2009, 13:02
Новичок на форуме
Отправить личное сообщение для Dionysius Посмотреть профиль Найти все сообщения от Dionysius
 
Регистрация: 11.12.2009
Сообщений: 5

Прикрепил архив - там упрощенная страничка. Нужно кликнуть "добавить клиента" и потом на календарь.

Сейчас вижу два варианта решения проблемы:
- переверстать форму так, чтобы в Опере 9.27 высота считалась верно
- сделать костыль в самом jQuery для данной ситуации
Вложения:
Тип файла: zip test.zip (74.4 Кб, 6 просмотров)
Ответить с цитированием
  #5 (permalink)  
Старый 13.12.2009, 17:50
Новичок на форуме
Отправить личное сообщение для Dionysius Посмотреть профиль Найти все сообщения от Dionysius
 
Регистрация: 11.12.2009
Сообщений: 5

Судя по всему, проблема в том, что поле с формой вложены в div, у которого position:fixed.
Ответить с цитированием
  #6 (permalink)  
Старый 23.12.2009, 01:54
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

может уже не актуально, но в opera 8 tr.scrollTop - это что-то типа координаты y, относительно верхнего края таблицы O_o jQuery.offset этого не учитывает. Хотя может там еще какие-нибудь нюансы есть
Ответить с цитированием
  #7 (permalink)  
Старый 23.12.2009, 16:41
Новичок на форуме
Отправить личное сообщение для Dionysius Посмотреть профиль Найти все сообщения от Dionysius
 
Регистрация: 11.12.2009
Сообщений: 5

Основной нюанс в div'е, у которого position:fixed. Опера 9.27 возвращает 0.
Решил проблему вставкой календаря в саму форму, а не как pop-up
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с jQuery. Beck jQuery 2 26.08.2009 19:08
Проблема при работе с плагином jQuery Map Hilight REp0rtER jQuery 3 29.07.2009 22:10
jQuery UI datepicker -- не биндится при загрузке mkrylov jQuery 4 20.05.2009 20:36
jquery tabs (проблема с отображением) Extern Элементы интерфейса 0 16.03.2009 17:42
jQuery Dialog и Datepicker Гость jQuery 14 12.08.2008 08:42