2011-04-28 108 views
0

我想在瀏覽器中心彈出一個窗口。但是,無論瀏覽器大小和用戶屏幕中的瀏覽器位置如何,我都希望它能夠正常工作。在瀏覽器內居中一個Javascript彈出窗口

位置是直接的,例如(使用jQuery):

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

等,但如果用戶的瀏覽器是不全屏,然後將其定位相對於全屏而不是瀏覽器。

我可以用

screen.width() 

得到篩網但只會在屏幕上的位置,這樣沒有更好的。

有人嗎?

+1

$(document).width()? – 2011-04-28 12:36:37

+0

與$(窗口)相同的問題。不會將彈出窗口相對於瀏覽器位於用戶屏幕上的位置,相對於使用瀏覽器寬度的屏幕本身而言。 (如果有意義的話) – DaisyK 2011-04-28 12:38:56

+1

完全錯過了你在這裏做了一個新窗口,而不是頁面內彈出窗口(如果可能,你可能要考慮),抱歉。 – 2011-04-28 12:48:00

回答

1

您需要同時使用窗口大小和屏幕上的瀏覽器位置來找出這些信息。你可以從window.screenTop和window.screenLeft屬性中獲得這些。因此,爲了得到你想要的位置,你會首先獲得相對於瀏覽器窗口中的位置:

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

,然後添加偏移:

var screenLeft = windowLeft + window.screenLeft; 

然後你就可以做同樣的高度。