我正在尝试找到在浏览器调整大小期间初始定位和调整模式对话框大小的最佳方法。我有一个网页,其中有一个用于模态的div,一个固定定位的页面头,以及一个可以在没有头部移动的情况下滚动的绝对定位主体:
我的HTML:
<div id="modalOverlayDiv" >
</div>
<div id="modalDiv">
Modal Dialog Body ...
</div>
<div id="fixedHeadDiv">
Head Body ...
</div>
<div id="absoluteBodyDiv" >
Page Body ...
</div>
我的CSS:
#modalOverlayDiv
{
position: fixed;
visibility:hidden;
top: 0;
left: 0;
height: 100%;
width: 100%;
background-color: rgba(0,0,0,0.5);
z-index: 300;
}
#modalDiv
{
text-align:center;
padding:0px;
display:inline-block;
position:absolute;
overflow-y:auto ;
overflow-x: hidden;
margin: 0 auto;
left:0;
right:0;
width:100%;
z-index: 400;
}
#fixedHeadDiv
{
position:fixed;
width:100%;
margin:0px 0px 0px 0px;
z-index:250;
}
#absoluteBody
{
position:absolute;
margin-left:auto;
margin-right:auto;
text-align:center;
left:0px;
top:60px;
z-index:200;
}
的问题:
我的jquery:
function ResizeModal() {
$('#modalDiv').css('height', parseInt($(window).height()) -
parseInt($('#fixedDiv').css('height')));
}
$(window).on('resize', function () {
ResizeModal();
});
function DisableScrollOnBody() {
windowYOffset = $(window).scrollTop();
$('body').addClass('scrollDisabled').css('margin-top', -windowYOffset);
}
function ShowModal() {
$("#modalOverlayDiv").css('visibility', 'visible');
$('#modalDiv').css({ top: $(window).scrollTop() +
parseInt($('#fixedDiv').css('height'))});
$('#modalDiv').css('height', parseInt($(window).height()) -
parseInt($('#fixedDiv').css('height')));
$("#modalDiv").css('visibility', 'visible').show('fast');
DisableScrollOnBody();
}
任何帮助都将不胜感激。