Проблема модального центрирования в IE6 - PullRequest
2 голосов
/ 14 января 2010

Я использую модальное всплывающее окно на моем сайте, но у меня проблема с ужасной IE6.
Модальное окно всплывает в середине страницы, пока страница не станет длинной прокруткой, затем IE6 откроет модальное окно, но вам нужно прокрутить вверх, чтобы найти его.

Код, который я использую, выглядит следующим образом.

$(id).css('top',  winH/2-$(id).height()/2);  
$(id).css('left', winW/2-$(id).width()/2);  

Может кто-нибудь предложить взлом для IE6.
Спасибо.

1 Ответ

0 голосов
/ 14 января 2010

Это не должно работать и в других браузерах, так как вы не указали смещение прокрутки страницы. Вы также должны сохранить элемент в переменную, чтобы jQuery четыре раза не обходил DOM, и вы также можете объединить объявления css в одно. Попробуйте это:

var el = $(id);
el.css({
    top:  $(window).scrollTop() + winH / 2 - el.height() / 2,
    left: winW / 2 - el.width() / 2
});  

Другой метод - использовать высоту документа вместо высоты окна. Высота окна - это высота страницы, видимой в данный момент на экране, а высота документа - высота всей страницы. Используя высоту документа:

var el = $(id);
el.css({
    top:  $(document).height() / 2 - el.height() / 2,
    left: winW / 2 - el.width() / 2
});  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...