获取当前的浏览器窗口中心

时间:2011-08-09 22:40:31

标签: javascript jquery

如何获取浏览器窗口高度,以便找到中心位置?

我只需要窗口高度,而不是网页高度。

我尝试了$(window).height() / 2,但只有在浏览器从页面顶部开始关注时才有效。如果我向下滚动,我得到了错误的中心。

3 个答案:

答案 0 :(得分:9)

要获取当前可视区域中心的y值,请使用:

$(window).scrollTop() + $(window).height() / 2

我在此页面上尝试了这一点,方法是打开Web Inspector并输入:

$('<p>').text('test').appendTo('body').css({position: 'absolute', top: $(window).scrollTop() + $(window).height() / 2});

答案 1 :(得分:0)

我认为身体的高度需要放在括号内才能正常工作:

var center = $("body").scrollTop() + ($("body").height() / 2);

但是,如果您正在制作弹出对话框,最好检测用户是否不在移动设备上,然后使用CSS“position:fixed”。您检测到移动设备是因为Mobile Safari在5之前的版本中无法理解固定定位。使用此代码进行检测:

var isMobile = navigator.appVersion.indexOf("Mobile/") != -1;

广告@米

答案 2 :(得分:0)

尝试window.outerHeightwindow.outerWidth,它适用于FF5(可能还有早期版本)和Chrome,但不适用于IE9。从谷歌搜索看来,似乎这些信息在IE中并不容易获得。

另见this other question dealing with IE