灰色背景,点击按钮显示弹出窗口
Greyout background onclick of button to display popup
我有一个页面,点击按钮,它应该灰色背景和弹出msg应该显示在灰色区域..我现在得到的是弹出显示在单独的背景不是灰色。这是我应用的脚本和样式
<script>
function deselect() {
$(".pop").hide();
}
$(function () {
$("#decline").live('click', function () {
$(".pop").css({ "display": "block", opacity: 0.7, "width": $(document).width(), "height": $(document).height() });
$(".pop").show();
});
$("#close").live('click', function () {
deselect();
return false;
});
});
</script>
<style type="text/css">
.messagepop {
background-color: #FFFFFF;
border: 1px solid #999999;
cursor: default;
display: none;
margin-top: -39em;
margin-left: 26em;
position: absolute;
text-align: left;
width: 394px;
z-index: 50;
padding: 25px 25px 20px;
}
.popuptxt {
display: block;
margin-bottom: 3px;
padding-left: 15px;
text-indent: -15px;
font-weight: 700;
}
.popupbtn {
padding-top: 15px;
padding-left: 135px;
}
.messagepop p, .messagepop.div {
border-bottom: 1px solid #EFEFEF;
margin: 8px 0;
padding-bottom: 8px;
}
</style>
此html代码
<input id="decline" type=button name="Decline" value="Decline">
<div class="messagepop pop">
<span><font class="popuptxt">By clicking decline, download will not occur, and window will close</font></span>
<div class="popupbtn">
<input type="button" name="Ok" class="btn btn-sm btn-orange" value="<%=labelutils.printTranslatedValues("Ok")%>" onclick="window.open('', '_self', ''); window.close();">
<input id="close" type="button" name="Cancel" class="btn btn-sm btn-gray-dark" value="<%=labelutils.printTranslatedValues("Cancel")%>">
</div>
</div>
你的代码一团糟。
- .live()不存在,我将其替换为。on()
- 我将你的弹出框设置为
fixed
而不是absolute
,并正确定位 - 不要使用不透明度,你应该使用半透明的背景色,否则元素的内容也会变成半透明的。
- 我也清理了你的JS一点点,使其更容易管理。
- 我还删除了ok按钮上的点击功能-我建议不要使用该功能,考虑到用户友好性
function deselect() {
$(".pop").hide();
return false;
}
function select(){
$(".pop").css({
display: "block",
opacity: 1,
width: $(document).width(),
height: $(document).height()
});
$(".pop").show();
}
$(function () {
$("#decline").on('click', select);
$("#close").on('click', deselect);
});
.messagepop {
background-color:rgba(255,255,255,.7);
border:1px solid #999999;
cursor:default;
display:none;
position:fixed;
top:0;
left:0;
text-align:left;
width:394px;
z-index:50;
padding: 25px 25px 20px;
}
.popuptxt {
display: block;
margin-bottom: 3px;
padding-left: 15px;
text-indent: -15px;
font-weight: 700;
}
.popupbtn {
padding-top: 15px;
padding-left: 135px;
}
.messagepop p, .messagepop.div {
border-bottom: 1px solid #EFEFEF;
margin: 8px 0;
padding-bottom: 8px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="decline" type=button name="Decline" value="Decline">
<div class="messagepop pop">
<span>
<font class="popuptxt">
By clicking decline, download will not occur, and window will close
</font>
</span>
<div class="popupbtn">
<input type="button" name="Ok" class="btn btn-sm btn-orange" value="OK">
<input id="close" type="button" name="Cancel" class="btn btn-sm btn-gray-dark" value="Cancel">
</div>
</div>
发现两个问题:
-
看起来你正在使用的'live'函数从1.9版开始就不存在了。所以除非它来自其他库,否则这就是你的主要问题所在。
-
您的
.messagepop
div没有正确定位,因此不会显示在屏幕上。你想让父元素有position:relative
,然后将position:absolute
设置为.messagepop
和top:0; left:0
,以正确对齐。
基本工作版本:http://jsfiddle.net/xj3pL213/
相关文章:
- 为什么不显示警报窗口
- 如何在不使用iframe或库的情况下创建剪切显示窗口区域
- 单击角度谷歌地图中的多边形时如何显示窗口
- 单击时显示窗口警报
- 在 EXT JS 中显示窗口
- 如果用户已关闭,则不显示窗口
- JS:这有什么问题?尝试单击链接以显示窗口.提示符
- 如何在谷歌浏览器中使用 JavaScript 显示窗口打印对话框
- 如何在javascript中显示窗口位置,当localStorage但不重新加载页面时
- 自动缩放和自动居中显示窗口中的所有标记
- 不要在页面启动时显示窗口
- 如果响应有效,则显示窗口警报
- Twitter Bootstrap Modal在Rails中不显示窗口
- 暂停在执行拖放时显示窗口的拖放事件的处理;在网格之间下降
- 多次创建和显示窗口时出现问题
- 在标记's上显示窗口点击Angular谷歌地图
- 使用adobeair在最大屏幕上显示窗口
- 在鼠标上显示窗口的时间间隔为2秒
- 如何以最快的方式显示窗口
- 当Iframe改变/加载时显示窗口