![](/img/trans.png)
[英]How can I open a Modal-Dialog window with scrollbars in javascript or jquery
[英]2 Scrollbars visible when I open a modal dialog
我们有一个莫名其妙的问题,当我们尝试从父页面打开模式对话框时,它会打开,并且两个垂直滚动条彼此相邻。 一个控制模式框,另一控制模式框后面的主页。
具有2个滚动条并不理想,并且已尝试为此实现解决方案。 我们在对话框页面中添加了一些JavaScript,可在打开模式对话框时将样式设置为“溢出:隐藏”。
<script>
function myOnLoad() {
window.parent.$('body').css('overflow', 'hidden');
}
并使用...
<body onload="myOnLoad()">
这有效并有效地删除了其后面页面中的滚动条(即,它做了应有的操作),但是我们还希望在模式对话框关闭时将溢出设置回“自动”。
我们通过添加此代码来完成此操作。
<script type="text/javascript">
// close Modal
$("#close").click(function () {
window.parent.$('body').css('overflow', 'auto');
window.parent.$("iframe").attr('src', '');
window.parent.$(".modalDialog").removeClass('show');
});
但是,这在模态对话框关闭时似乎不起作用,但是滚动条仍隐藏在主页上。 谁能告诉我在这里我可能做错了什么? 我尝试了不同的溢出属性,但似乎无济于事
我认为使用window.parent可能是问题所在,因为这指的是iframe的父级不复存在。 或类似的东西。 只是使用jQuery
您可以尝试通过直接获取主体$(“ body”)来进行假设,假设您正在触发点击功能。
编辑:我看到这已在上面提到
好的,尝试一下,我认为您的页面在点击时会重新加载,从而执行onload:
$("#close").click(function (e) {
e.preventDefault();
window.parent.$('body').css('overflow', 'auto');
window.parent.$("iframe").attr('src', '');
window.parent.$(".modalDialog").removeClass('show');
});
为身体添加样式
body
{
padding-right:0px !important;
overflow-y:hidden !important;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.