当一个jQuery模态已经加载了......你怎么做到这样页面滚动条滚动模态而不是页面?
在123reg ... https://www.123-reg.co.uk/order/domain?domain=somedomain.co.uk&is=1上查看此示例,然后点击' .co.uk'然后滚动。
如果您关闭模式并点击' .uk.com可用'模态更短,页面滚动条被禁用,直到关闭模态。
有人能举例说明这是如何运作的吗?
提前致谢! :)
答案 0 :(得分:0)
在主模式容器类
中使用position:absolute
代替position:fixed
.modal_name {
position: absolute;
}
答案 1 :(得分:0)
只需将此样式添加到样式表即可:
.modal-open {
overflow: inherit;
}
答案 2 :(得分:0)
这是因为“modal-scrollable”类应用于modal-popup的父div。这个“模态可滚动”类的样式为“overflow:auto和overflow:y-scroll”。如果删除这些样式,页面滚动条将不再存在,您将无法向下滚动模式弹出窗口。模态组大于身高,所以溢出风格在这里起作用。对于第二个弹出窗口,它不大于身高,因此滚动不会出现在那里。 'overflow'样式只适用于元素超出指定限制的地方(如div有max-height:450px,当div中的内容使其达到450 px以上时,它将显示滚动。条件是溢出:自动或溢出:添加y滚动)。
你也可以通过jquery来处理这些事情。为了让你更好地理解我已经创建了两个函数ShowModal和HideModal: -
<div class="modal" id="popupModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header ">
<button type="button" class="close1" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<p>Something to be written<p>
</div>
</div>
</div>
脚本
function ShowModal()
{
$("#popupModal").modal('show'); //this will show the page scroll bar for modal popup only . This is handled by bootstrap itself
$('body').css({overflow:'hidden'); // this will hide the body scroll bar
}
function HideModal(){
$("#popupModal").modal('hide');
$('body').css({overflow:'auto'}); //this will show the scroll bar
}
希望我的回答能帮到你!!