在網上看到一個,用js寫的層的遮罩效果。和大家分享一下。
CSS樣式,如下:
<style type="text/css"> .black_overlay { display: none; position: absolute; top: 0%; left: 0%; width: 100%; height: 100%; background-color: black; z-index: 1001; -moz-opacity: 0.8; opacity: .80; filter: alpha(opacity=80); } .white_content { display: none; position: absolute; top: 10%; left: 10%; width: 80%; height: 80%; border: 16px solid lightblue; background-color: white; z-index: 1002; overflow: auto; } .white_content_small { display: none; position: absolute; top: 20%; left: 30%; width: 40%; height: 50%; border: 16px solid lightblue; background-color: white; z-index: 1002; overflow: auto; } </style>
JS實現,如下:
<script type="text/javascript"> //彈出隱藏層 function ShowDiv(show_div, bg_div) { document.getElementById(show_div).style.display = 'block'; document.getElementById(bg_div).style.display = 'block'; var bgdiv = document.getElementById(bg_div); bgdiv.style.width = document.body.scrollWidth; // bgdiv.style.height = $(document).height(); $("#" + bg_div).height($(document).height()); }; //關閉彈出層 function CloseDiv(show_div, bg_div) { document.getElementById(show_div).style.display = 'none'; document.getElementById(bg_div).style.display = 'none'; }; </script>
HTML代碼,如下:
<input id="Button1" type="button" value="點擊彈出層" onclick="ShowDiv('MyDiv','fade')" /> <!--彈出層時背景層DIV--> <div id="fade" class="black_overlay"> </div> <div id="MyDiv" class="white_content"> <div style="text-align: right; cursor: default; height: 40px;"> <br /> <span style="font-size: 16px;" onclick="CloseDiv('MyDiv','fade')">關閉</span> </div> 遮罩層。 </div> <br /> <center> 層的遮罩效果</center>
運行效果,如下:
點擊按鈕,彈出層效果,如下:
但是,當有滾動條的時候,下面是遮不住的。。