【发布时间】:2015-02-26 15:26:21
【问题描述】:
我们有一个莫名其妙的问题,当我们尝试从父页面打开一个模式对话框时,它打开时有 2 个彼此相邻的垂直滚动条。一个控制模态框,另一个控制它后面的主页。
拥有 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的所有复杂性? -
模式在同一个窗口中。弹出窗口在另一个窗口中。您使用的是模式还是弹出窗口?
标签: javascript jquery html css modal-dialog