Я немного застрял, пытаясь заставить диалоговое окно jQuery UI автоматически изменять размеры, чтобы соответствовать его содержимому, сохраняя при этом максимальную высоту (чтобы диалог не вырастал "из окна"). Следующий код работает, однако диалоговое окно остается открытым в верхней части окна, а не по центру (там, где я хочу, чтобы оно появилось).
jQuery(".dialog").dialog({
autoOpen: false,
autoResize: true,
height: "auto",
hide: "fold",
maxHeight: 500,
open: function(event, ui) { jQuery(this).css({"max-height": 500, "overflow-y": "auto"}); },
resizable: false,
show: "fadeIn",
width: 500
});
Функция open делает свое дело, однако делает это после открытия диалогового окна (на самом деле вы можете видеть, как оно изменяется на лету). Кто-нибудь может придумать, как перецентрировать его в элементе окна? Я пытался использовать .position (), но безрезультатно:
open: function(event, ui) {
jQuery(this).css({"max-height": 500, "overflow-y": "auto"});
setTimeout("jQuery(this).position(my: \"center\", at: \"center\", of: window)", 1000);
},
Любые другие предложения?