当我打开模式对话框时,可以看到2个滚动条
2 Scrollbars visible when I open a modal dialog
我们遇到了一个令人困惑的问题,当我们试图从父页面打开模式对话框时,它会打开两个相邻的垂直滚动条。一个控制模态框,另一个控制它后面的主页
有两个滚动条并不理想,我们已经尝试实现了一个解决方案。我们在对话框页面中添加了一些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');
});
然而,这似乎不起作用,因为模式对话框关闭,但滚动条仍然隐藏在主页面上。有人能告诉我我在这里可能做错了什么吗?我尝试过不同的溢出属性,但似乎都不起作用
好吧,试试这个,我认为你的页面在点击时正在重新加载,从而执行你的onload:
$("#close").click(function (e) {
e.preventDefault();
window.parent.$('body').css('overflow', 'auto');
window.parent.$("iframe").attr('src', '');
window.parent.$(".modalDialog").removeClass('show');
});
我认为使用window.parent可能是个问题,因为它指的是iframe的父级,它已经不存在了。或者类似的东西。只需使用jquery
您可以尝试直接获取body$("body"),因为您正在启动click函数。
编辑:我看到上面已经提到了
将样式添加到正文中作为
body
{
padding-right:0px !important;
overflow-y:hidden !important;
}
相关文章:
- 在结束请求上设置多个滚动条位置
- 当我打开模式对话框时,可以看到2个滚动条
- 如何隐藏多个图像容器的垂直滚动条
- 如何使用jQuery和.on让两个滚动条同时滚动
- 如何同时控制两个滚动条
- 如何从一个类实现多个微小滚动条
- 在 JavaScript 中同步两个滚动条
- 一个滚动条用于三个选项或选择区域
- 如何同步 2 个 iframe 的滚动条
- 使用相同的 css 的两个滚动条
- 多个滚动条显示在第三方应用程序中
- 如何用第一个滚动条跳转到页面的某个点
- 在mobiscroll中添加2个单独的滚动条
- 使用Javascript滚动条滚动多个DIV
- Jquery只需在同一页上滚动多个滚动条
- 如何将滚动条应用于拆分为多个部分的画布的每个单独部分?
- 我可以同步两个iframe的滚动条吗
- 如何同步两个滚动条与Javascript纯
- 同一页上有多个滚动条
- 向2个表格添加滚动条