我遇到了一个错误,我的模态不会在中心窗口打开。我目前用于测量中间的代码如下:
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
向下滚动并点击“与朋友分享”按钮。
如果有人可以帮我解决这个错误,我将不胜感激!
答案 0 :(得分:1)
您需要考虑滚动位置。
// Add the pageYOffset should fix the problem
j(id).css('top', (j(window).height()/2-j(id).height()/2) + window.pageYOffset);
您还必须保持对滚动事件的监视并重新生成位置,以防它们向上和向下滚动。
答案 1 :(得分:1)
来自jQuery Docs:
var height = $(window).height();
var scrollTop = $(window).scrollTop();
http://docs.jquery.com/CSS/scrollTop
http://docs.jquery.com/CSS/height
通过How do I determine height and scrolling position of window in jQuery?