阻止JavaScript中简单模态对话框的背景
blocking background of a simple modal dialog in javascript
我在JavaScript中有一个简单的模态对话框,我自己做。css 如下:
#overlay {
visibility: hidden;
position: absolute;
left: 0px;
top: 0px;
width:100%;
height:100%;
text-align:center;
z-index: 1000;
background-color: rgba(0, 0, 0, 0.6);
}
#show {
width:300px;
margin: 100px auto;
background-color: #fff;
border:1px solid #000;
padding:15px;
text-align:justify;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
font-weight: bold;
line-height: 20px;
}
javascript如下:
function overlay() {
var el = document.getElementById("overlay");
el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";
if (el.style.visibility == "visible"){
el.scrollIntoView();
}
}
我遇到的问题比看起来更大。我从网络上获取了这个模态对话框代码,只用javascript和css制作一个简单的模态,但我想构建一个完整的模态窗口,这个窗口占用了浏览器中100%的可见空间,但是如果你向下滚动,你可以看到页面仍然存在覆盖层后面, 因为覆盖不会占用网页的 100%,而只会占用用户可以看到的 100% 的部分。
当用户向下滚动覆盖时,我是否必须禁止该行为?我怎样才能做到这一点?
有什么提示吗?谢谢。
你可以做:
$('#overlay').height($(document).height());
或固定叠加位置
#overlay{
position:fixed;
}
很简单,只需更改覆盖层的 css:
#overlay {
position: fixed;
overflow: auto;
...
}
然后在 javascript 函数中添加这些行(在 "if" 语句之外):
var b = document.getElementsByTagName("body")[0];
b.style.overflow = (b.style.overflow == "") ? "hidden" : "";
相关文章:
- 着色引导框对话框
- 文本框不是从Javascript/Asp.net中的对话框中打印出来的
- CKeditor:更改对话框中的默认选择选项
- 搜索api在mac上显示对话框
- 使用密码对话框Javascript请求帮助
- 如何防止引导模式对话框的背景覆盖整个屏幕
- 阻止JavaScript中简单模态对话框的背景
- 引导 3 - 模态背景不会根据模态对话框的高度调整大小
- 通过灰色背景点击模式对话框
- 如何更改jqueryui模式对话框背后的背景
- jquery模态对话框背景并没有扩展到iframe之外
- 在打印预览对话框中,背景颜色或背景CSS设置不呈现
- 通过单击背景来消除html对话框元素
- jPicker重置重置按钮上的背景颜色,以及我如何一次打开单个jPicker对话框
- 对话框.更改背景颜色:(编辑)为整个文档
- 如何创建一个对话框的背景
- 在加载对话框之前,显示引导模式对话框背景
- 如何在twitterbootstrap中区分模式对话框的点击和背景
- 如何设置引导模式对话框与背景元素活动
- 如何让背景淡出时,jQuery对话框是活跃的