Центрирование всплывающего окна Javascript

#javascript

#javascript

Вопрос:

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

Позиционирование в браузере выполняется просто, например (с помощью jQuery) :

 var left = ($(window).width()/2)-(width/2);
..
uwin = window.open(...., left=...);
  

и т.д. Но если браузер пользователя не работает в полноэкранном режиме, то он позиционируется относительно полноэкранного режима, а не браузера.

Я могу получить экран, используя

 screen.width()
  

но это просто отобразится на экране, так что это не лучше.

Кто-нибудь?

Комментарии:

1. Как насчет $(document). width() ?

2. Та же проблема, что и с $ (window). Не помещает всплывающее окно относительно местоположения браузера на экране пользователя, только относительно самого экрана, используя ширину браузера. (если это имеет смысл)

3. Полностью пропустил, что вы создаете здесь новое окно, а не всплывающее окно на странице (которое вы, возможно, захотите рассмотреть, если это вообще возможно), извините.

Ответ №1:

Вам нужно будет использовать как размер окна, так и положение браузера на экране, чтобы вычислить эту информацию. Вы можете получить их из свойств window.screenTop и window.screenLeft. Итак, чтобы получить желаемое позиционирование, вам сначала нужно определить положение относительно окна браузера:

 var windowLeft = ($(window).width()/2)-(width/2);
  

и затем вы добавляете смещение:

 var screenLeft = windowLeft   window.screenLeft;
  

Затем вы можете сделать то же самое для высоты.