我遇到了一个bug,我的模态不会在中心窗口打开。目前我使用的测量中的代码如下:为什么我的模式不能在窗口的死中心打开?
var id = j('#share-modal');
// show modal, resize
j(id).css('top', j(window).height()/2-j(id).height()/2);
j(id).css('left', j(window).width()/2-j(id).width()/2);
j('#share-modal').fadeIn(500);
CSS
#share-modal {
display: none;
font-family: Arial, sans-serif;
width: 537px;
height: 510px;
position: absolute;
background: #FFF;
z-index: 100;
box-shadow: 3px 3px 3px #333;
-moz-border-radius: 15px;
-webkit-border-radius: 15px;
}
这是我把那是应该居中代码的唯一的代码,但我可以不知道是否有其他干扰。
查看我的JavaScript这里: http://pastebin.com/wZeY5azT
你可以在这里查看:www.paultibbs.com/varier
向下滚动,并点击 “与好友分享” 按钮。
如果有人能帮我解决这个bug,我将不胜感激!
首先为什么j的,而不是作为惯例是比较常见的$? ;-)它实际上**是**在窗口的死亡中心**(如果你一直向上滚动页面,你会明白我的意思)。你真正想要的是实际上文档当前显示区域的中心。因此,使用相对于点击事件或按钮位置的y轴位置。 – 2012-02-10 02:33:02
@UstamanSangat如何投票现有答案,而不是仅仅重复6分钟前所说的话? – thenetimp 2012-02-10 02:34:51
在这种特殊情况下,您不必担心它,但请记住,如果您的模态框中有边框,边距或填充,您必须在定位时补偿它们,或使用“框尺寸:边界框;'。 – 2012-02-10 02:37:31