jQuery datepicker + blockUI в Опере 9.27 проблема позиционирования
Вложений: 1
Здравствуйте.
Суть проблемы: Использую jQuery с несколькими плагинами. Среди них blockUI для всплывающего окна и datepicker для выбора дат. Во всплывающем окне находится форма с полем ввода, к которому прикрепляется календарь. В Опере 9.27 он открывается не под полем ввода, а где-то в верхнем углу. Через firebug обнаружил, что блоку с календарём задаётся свойство position:fixed. Если же календарь привязывается к полю ввода, которое находится в любом месте страницы (но не во всплывающем окне), то ему задаётся свойство position:absolute. Скриншот прилагаю Как это победить? |
Удалось выяснить, что в данном случае неверно считается позиция поля ввода - jQuery.offset().
|
дай простейшую тестовую страничку, которая демонстрирует проблему
|
Вложений: 1
Прикрепил архив - там упрощенная страничка. Нужно кликнуть "добавить клиента" и потом на календарь.
Сейчас вижу два варианта решения проблемы: - переверстать форму так, чтобы в Опере 9.27 высота считалась верно - сделать костыль в самом jQuery для данной ситуации |
Судя по всему, проблема в том, что поле с формой вложены в div, у которого position:fixed.
|
может уже не актуально, но в opera 8 tr.scrollTop - это что-то типа координаты y, относительно верхнего края таблицы O_o jQuery.offset этого не учитывает. Хотя может там еще какие-нибудь нюансы есть
|
Основной нюанс в div'е, у которого position:fixed. Опера 9.27 возвращает 0.
Решил проблему вставкой календаря в саму форму, а не как pop-up |
Часовой пояс GMT +3, время: 11:33. |