Posted in jQuery onSeptember 19, 2017
本文实例讲述了jQuery实现可兼容IE6的遮罩功能。分享给大家供大家参考,具体如下:
最精简,最强大的 jQuery 遮罩层效果。
当浏览器改变大小时,遮罩层的大小会相应地改变。
遮罩层上方的对话框可随 scroll 的改变而改变,即对话框在浏览器居中显示。
HTML 代码
<div id="main"><a onclick="showBg();" href="#" rel="external nofollow" rel="external nofollow" >点击这里看 jQuery 遮罩层效果.</a></div> <div id="fullbg"></div> <div id="dialog"> <p class="close"><a onclick="closeBg();" href="#" rel="external nofollow" rel="external nofollow" >关闭</a></p> 正在加载,请稍后... </div>
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; }
jquery 代码
<script type="text/javascript" src="http://libs.baidu.com/jquery/2.0.0/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]-->
这里别忘记引入jquery文件
希望本文所述对大家jQuery程序设计有所帮助。
jQuery实现可兼容IE6的遮罩功能详解
- Author -
微笑书生声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@