Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jQuery Dialog и Datepicker (https://javascript.ru/forum/jquery/1472-jquery-dialog-i-datepicker.html)

Nichloas 30.07.2008 17:54

Изменил z-index у календаря и все получилось, но неужели это единственный способ. Если я ничего не напутал, то Dialog свой параметр z-index генерирует автоматически, исходя из расчетов максимального значения. Тогда получается, что для календаря необходимо устанавливать максимально возможное значение. А как же тогда быть, если диалоговые окна накладываются друг на друга? Хорошо, если они модальные с блокированием задней части окна браузера. А если - нет, тогда получится, что календарь будет выводиться поверх всех окон, что не совсем верно с точки зрения правил интерфесов.

Может есть какой-то способ указать, что календарь является дочерним элементом для диалогового окна?

Андрей Параничев 30.07.2008 18:02

А если ему вообще не ставить в стилях z-index?

Nichloas 30.07.2008 19:40

Тогда получается, что у Dialog параметр устанавливается, а календарь получает минимальный параметр.

Проверка показала, что не получается, если убрать параметр. Из Dialog параметр убрать без корректировки js убрать нельзя - он рассчитывается там

Arkad-snz 11.08.2008 23:19

У календаря: z-index: 2147483647;

ui.dialog.js:

this.activate = function() {
var maxZ = 0;
$('.ui-dialog:visible').each(function() {
maxZ = Math.max(maxZ, parseInt($(this).css("z-index"),10));
});
maxZ-=48; //Чтобы не сильно мнил себя царем горы
overlay.$el && overlay.$el.css('z-index', ++maxZ);
uiDialog.css("z-index", ++maxZ);
};

т.е. на все, что нужно поверх dialog'а останется z-index'ы с 2147483601 до ...47
М.б. накладки с чем еще, но путь ясен.

Nichloas 12.08.2008 08:42

Спасибо


Часовой пояс GMT +3, время: 08:32.