Javascript 绝对定位div,防止背景滚动
我正在使用一个引导弹出框来创建一个动态列表,它可以有几页长。我只是添加了一个溢出:滚动到它,它就工作了,但是如果页面比列表长,它会继续滚动到弹出框的前面 打开popover时是否可以禁用背景内容的滚动 换句话说,在禁用背景内容滚动的同时,您是否可以拥有绝对定位的div滚动 更新:修复了基于两个答案的问题 设置两个溢出:隐藏;到主体元素和溢出:自动;当模式打开时,单击“模式”对话框Javascript 绝对定位div,防止背景滚动,javascript,jquery,html,css,twitter-bootstrap,Javascript,Jquery,Html,Css,Twitter Bootstrap,我正在使用一个引导弹出框来创建一个动态列表,它可以有几页长。我只是添加了一个溢出:滚动到它,它就工作了,但是如果页面比列表长,它会继续滚动到弹出框的前面 打开popover时是否可以禁用背景内容的滚动 换句话说,在禁用背景内容滚动的同时,您是否可以拥有绝对定位的div滚动 更新:修复了基于两个答案的问题 设置两个溢出:隐藏;到主体元素和溢出:自动;当模式打开时,单击“模式”对话框 为了更清楚,我们需要查看您的代码。我已经做了一个非常简单的示例 您的弹出窗口应位于另一个分区中: <div i
为了更清楚,我们需要查看您的代码。我已经做了一个非常简单的示例 您的弹出窗口应位于另一个分区中:
<div id="shadow">
<div id="popup">
<a id='close' href="#">Close</a>
</div>
**还有一个小技巧:**
$('#open').click(function(e){
e.preventDefault()
$('body').width($('body').width());
$('body').css('overflow', 'hidden');
$('#shadow').css('display', 'block');
})
$('#close').click(function(e){
e.preventDefault()
$('body, #shadow').removeAttr('style')
})
希望能有帮助 请出示你的密码
#shadow{
display: none;
position: fixed;
top:0;
bottom: 0;
width: 100%;
height:100%;
background-color: rgba(0,0,0,0.6);
}
$('#open').click(function(e){
e.preventDefault()
$('body').width($('body').width());
$('body').css('overflow', 'hidden');
$('#shadow').css('display', 'block');
})
$('#close').click(function(e){
e.preventDefault()
$('body, #shadow').removeAttr('style')
})