最精简,最强大的 jQuery 遮罩层效果。
1. 当浏览器改变大小时,遮罩层的大小会相应地改变。
1. 当浏览器改变大小时,遮罩层的大小会相应地改变。
2. 遮罩层上方的对话框可随 scroll 的改变而改变,即对话框居中显示。
HTML Code:
<div id="main"> <a href="#" οnclick="showBg();">点击这里看 jQuery 遮罩层效果.</a> </div>
<!-- jQuery 遮罩层 -->
<div id="fullbg"></div>
<!-- end jQuery 遮罩层 -->
<!-- 对话框 -->
<div id="dialog">
<p class="close"><a href="#" οnclick="closeBg();">关闭</a></p>
<p>正在加载,请稍后...</p>
</div>
<!-- jQuery 遮罩层上方的对话框 -->
CSS Code:
<style type="text/css">
body {
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
margin:0;
}
#main {
height:1800px;
padding-top:90px;
text-align:center;
}
#fullbg {
background-color:Gray;
left:0px;
opacity:0.5;
position:absolute;
top:0px;
z-index:3;
filter:alpha(opacity=50); /* IE6 */
-moz-opacity:0.5; /* Mozilla */
-khtml-opacity:0.5; /* Safari */
}
#dialog {
background-color:#FFF;
border:1px solid #888;
display:none;
height:200px;
left:50%;
margin:-100px 0 0 -100px;
padding:12px;
position:fixed !important; /* 浮动对话框 */
position:absolute;
top:50%;
width:200px;
z-index:5;
}
#dialog p {
margin:0 0 12px;
}
#dialog p.close {
text-align:right;
}
</style>
jQuery Code:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
//显示灰色 jQuery 遮罩层
function showBg() {
var bh = $("body").height();
var bw = $("body").width();
$("#fullbg").css({
height:bh,
width:bw,
display:"block"
});
$("#dialog").show();
}
//关闭灰色 jQuery 遮罩
function closeBg() {
$("#fullbg,#dialog").hide();
}
</script>
<!--[if lte IE 6]>
<script type="text/javascript">
// 浮动对话框
$(document).ready(function() {
var domThis = $('#dialog')[0];
var wh = $(window).height() / 2;
$("body").css({
"background-image": "url(about:blank)",
"background-attachment": "fixed"
});
domThis.style.setExpression('top', 'eval((document.documentElement).scrollTop + ' + wh + ') + "px"');
});
</script>
<![endif]-->
注意:
请将遮罩层的 DIV 放置于 HTML 文档最后 </body> 标签之前,否则遮罩层将无法获取当前浏览器窗口的高度。