我有这个JS代码,它创建了一个弹出框,并使背景中的其他东西变得灰色。
<script type="text/javascript">
<!--
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
//-->
</script>HTML
<div id="wrapper">
<p><a href="javascript:void(0)" onclick="toggle_visibility('popup- box1');">Open popup box 1</a></p>
</div>
<div id="popup-box1" class="popupposition">
<div id="popupwrapper">
<div id="popupcontainer">
****POPUP BOX CONTENT
</div>
</div>
</div>页面背景上的所有内容都是灰色的,不能点击,但是页面的这个HTML部分仍然是可见的,我该怎么办?
<div class="classfinder">
<div class="searchbox">
<ul>
<div class="searchboxclasswidth" onClick="return !!(classFunction() & changeColor1())"><li><p id="findclass"><a href><b>Trova classe </b></a></p></li> </div>
<div class="searchboxcoursewidth" onClick="return !!(courseFunction() & changeColor2())"><li><p><a href><b>Trova corso</b></a></p></li></div>
</ul>谢谢!
发布于 2016-02-23 16:51:02
我不清楚您页面中HTML控件的组织方式。这个结构似乎是错的。弹出的父div的CSS属性z索引必须大于页面中所有其他元素的索引,才能实现您期望的功能。将弹出框1的z索引与弹出框上方可见的其他元素进行比较。如果效果不佳,请将html及其相关的css和JS代码复制到这里。
发布于 2016-02-23 17:10:45
我解决了。我在JS中添加了:
否则e.style.display =‘块’;e.style.zIndex="1";
现在我的迪夫已经占据了一切。谢谢各位
发布于 2016-02-24 16:57:40
在这种情况下,还可以通过向弹出类添加z-index:1来解决这个问题,如下所示:
.popupposition{display:none;position:fixed; top: 0; left: 0; background-color: rgba(0,0,0,0.7); width:100%; height:100%;z-index:1}这将避免JS函数中不必要的一行代码。
https://stackoverflow.com/questions/35582677
复制相似问题