Я открываю диалоговое окно пользовательского интерфейса jQuery одним щелчком мыши, мне нужно, чтобы диалоговое окно располагалось в центре видимой части экрана / браузера.
Позиция по умолчанию для диалога jQuery размещает диалог в центре страницы:
position: { my: "center", at: "center", of: window }
но страница, на которой у меня загружается диалоговое окно, очень длинная, с полосой прокрутки, поэтому диалоговое окно сначала появляется на полпути вниз по странице, когда я нажимаю на нее.
Есть идеи, как центрировать диалог на видимой части экрана?
Javascript для создания и открытия диалогового окна пользовательского интерфейса jQuery:
$(document).ready(function () {
$("#dialog").dialog({
autoOpen: false,
modal: true,
resizable: false,
title: "Item Edit",
buttons: {
"Save": function (e) {
$('input#<%=btnSave.ClientID %>').click();
$(this).dialog("close");
location.reload();
}
}
});
$(".item").on("click", function () {
var itemId = $(this).attr("itemId");
var url = window.location.protocol + "//" + window.location.host +
"/ItemEdit.aspx?itemId=" + itemId;
$("#dialog").load(url);
$("#dialog").dialog("open");
return false;
});
});
Я использую jQuery 1.11.1 и jQuery UI 1.11.1, демонстрация скрипта ниже, похоже, работает правильно, но версии jQuery не совпадают. Основная идея заключается в том, что когда на странице находится вертикальная полоса прокрутки, центральное положение по умолчанию в диалоговом окне не работает.
Демонстрация JSFiddle - http://jsfiddle.net/t2zf7xow/6/