今天没什么事做就尝试了一下js,想做个遮罩,这个平时看很多网站都有实现这个功能,这个对大家来说都是非常简单的了,要是高手的就请忽略这篇文章了,就想着自己用简单的方式来实现以这个功能。
第一步:js代码
<script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script> <script type="text/javascript"> $(".tab_con img").click(function(){ //取消事件冒泡 event.stopPropagation(); $(".bor").show("slow"); var src=$(this).attr("alt"); var img_str="<img src='"+src+"' id='im' width='280' height='260' />"; $(".bor").css("padding-top","0"); $(".jiazhai").html(img_str); var wnd = $(window), doc = $(document); if(wnd.height() > doc.height()){ //当高度少于一屏 wHeight = wnd.height(); }else{//当高度大于一屏 wHeight = doc.height(); } //创建遮罩背景 $("body").find("#MaskID").width(wnd.width()).height(wHeight) .css({position:"absolute",top:"0px",left:"0px",background:"#ccc",filter:"Alpha(opacity=80);",opacity:"0.8",zIndex:"100",display:"block"}); }); </script>
第二步:css 样式
#MyDiv{ position:absolute; width:200px; height:200px; font-size:12px; background:#666; border:1px solid #000; z-index:100; display:none; text-align:center; }
第三步:html 代码,下面的图片路径替换成自己的图片就可以了
<div class='bor'> <div class="jiazhai"><img src="images/loading3.gif" />正在加载……</div> <div class="colse">点击图片关闭</div> </div> <div id="MaskID"></div>
到此,一个简单的遮罩效果就有了,主要是用了绝对应对的层级关系,底层(body标签)背景覆盖整个屏幕,设置css样式z-index仅次于要弹出来的层,这样就顶层就在次层前面了,点击最顶一层就会隐藏背景了。