我正在创建一个简单的模态。显示模式时,我希望模式显示在页面的顶部,并且要锁定的背景只有模式滚动。锁定背景模式后的位置
在模态显示中,我将背景设置为position:fixed
,但在修复之前将其滚动到顶部。
此外,如果在单击显示模式之前滚动页面的一半,则模式也会在打开时向下滚动。
我想要发生的事情是:无论用户在页面上,点击打开模式并锁定背景。然后只滚动模式。然后关闭模式,并返回到原来的位置。
这可能吗?
Here's a fiddle showing all the code
这是我想要的CSS:
.modBG { /* background */
position:fixed;
top:0;
bottom:0;
left:0;
right:0;
background-color: rgba(0,0,0,0.4);
z-index:15;
display:none;
height:100%;
width:100%;
}
#wishData { /* modal window */
width:100px;
z-index:20;
position:absolute;
display:none;
margin:0 auto;
min-height:60px;
overflow-y:auto;
overflow-x:hidden;
padding:10px;
background:#fff;
top:20px;
-webkit-box-shadow: 0px 0px 14px 0px rgba(50, 50, 50, 0.75);
-moz-box-shadow: 0px 0px 14px 0px rgba(50, 50, 50, 0.75);
box-shadow: 0px 0px 14px 0px rgba(50, 50, 50, 0.75);
margin-left:100px;
}
而jQuery的:
$(document).on('click', '.wishView', function() {
$('#sb-site').css('position','fixed');
$('.modBG').show();
$('#wishData').show();
return false;
});
// click background to close modal
$(document).on('click', '.modBG', function() {
$('.modBG').hide();
$('#wishData').hide();
$('#sb-site').css('position','relative');
});
你为什么不尝试与溢出滚动弹出一个固定的高度?没有固定在背景上的位置,那会好吗? – Bobby5193