Jquery: Как я могу установить модальное диалоговое окно для отображения по центру относительно HTML вместо тела? - PullRequest
0 голосов
/ 08 августа 2009

Я использую скрипт , который затеняет фон с элементом #mask и центрирует мое сообщение .memError на экране. Проблема в том, что мой сайт стилизовал элементы body и html-- body с фиксированной шириной и центрирован внутри элемента html. Когда я использую приведенный ниже скрипт, оба сообщения #mask и .memError располагаются относительно элемента body. Как я могу расположить их относительно html вместо этого?

//Get the screen height and width
var maskHeight = $(document).height();
var maskWidth = $(window).width();

//Set heigth and width to mask to fill up the whole screen
$('#mask').css({
    'width': maskWidth,
    'height': maskHeight
});

//transition effect
$('#mask').fadeIn(1000);
$('#mask').fadeTo("normal", 0.9);

//Get the window height and width
var winH = $(window).height();
var winW = $(window).width();

//Set the popup window to center
$('.memError').css('top', winH / 2 - $('.memError').height() / 2);
$('.memError').css('left', winW / 2 - $('.memError').width() / 2);

Ответы [ 2 ]

2 голосов
/ 08 августа 2009

Почему бы не использовать jmodal или другой плагин jquery, который создает модальное диалоговое окно для вас?

1 голос
/ 08 августа 2009

Вы установили верхнюю и левую позиции на ноль?

$('#mask').css({
 'width': maskWidth,
 'height': maskHeight,
 'left': 0,
 'top': 0
});

но почему бы вам не попробовать blockUI plugin ?

...