基于JQuery的JS遮罩层效果

案例1.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<HTML>  
 <HEAD>  
  <TITLE>遮罩层效果</TITLE>  
    <style type="text/css">  
        .mask {  
            padding : 0px ;  
            margin : 0px ;  
            background : #555 ;  
            position : absolute ;  
        }  
    </style>  
  
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>  
    <script type="text/javascript">  
        $(function(){  
            Mask.load() ;  
        }) ;  
  
        var Mask = function(){  
            function load(){  
                var jq = _render() ;  
                $("body").click(function(){  
                    unload(jq) ;  
                }) ;  
            } ;  
            function unload(jq){  
                jq.remove() ;  
            } ;  
            function _render(){  
                var _div = $("<div></div>")  
                                .addClass("mask")  
                                .appendTo("body") ;  
                var _css = _getCss() ;  
                _div  
                    .css(_css)  
                    .fadeIn() ;  
                return _div ;  
            } ;  
            function _getCss(){  
                var css = {  
                    display : "none" ,  
                    top : 0 +  "px" ,  
                    left : 0 + "px" ,  
                    width : document.documentElement.clientWidth + "px" ,  
                    height : document.documentElement.clientHeight + "px" ,  
                    zIndex : 9999 ,  
                    opacity : 0.6  
                } ;  
                return css ;  
            } ;  
            return {  
                load : load ,  
                unload : unload  
            } ;  
        }() ;  
    </script>  
 </HEAD>  
  
 <BODY>  
    
 </BODY>  
</HTML>  


案例2.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>基于JQuery的JS遮罩层效果</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<script type="text/javascript"> 
//显示灰色JS遮罩层 
function showBg(ct,content){ 
    var bH=$("body").height(); 
    var bW=$("body").width()+16; 
    var objWH=getObjWh(ct); 
    $("#fullbg").css({width:bW,height:bH,display:"block"}); 
    var tbT=objWH.split("|")[0]+"px"; 
    var tbL=objWH.split("|")[1]+"px"; 
    $("#"+ct).css({top:tbT,left:tbL,display:"block"}); 
    $("#"+content).html("<div style='text-align:center'>正在加载,请稍后...</div>"); 
    $(window).scroll(function(){resetBg()}); 
    $(window).resize(function(){resetBg()}); 

function getObjWh(obj){ 
    var st=document.documentElement.scrollTop;//滚动条距顶部的距离 
    var sl=document.documentElement.scrollLeft;//滚动条距左边的距离 
    var ch=document.documentElement.clientHeight;//屏幕的高度 
    var cw=document.documentElement.clientWidth;//屏幕的宽度 
    var objH=$("#"+obj).height();//浮动对象的高度 
    var objW=$("#"+obj).width();//浮动对象的宽度 
    var objT=Number(st)+(Number(ch)-Number(objH))/2; 
    var objL=Number(sl)+(Number(cw)-Number(objW))/2; 
    return objT+"|"+objL; 



function resetBg(){ 
    var fullbg=$("#fullbg").css("display"); 
    if(fullbg=="block"){ 
        var bH2=$("body").height(); 
        var bW2=$("body").width()+16; 
        $("#fullbg").css({width:bW2,height:bH2}); 
        var objV=getObjWh("dialog"); 
        var tbT=objV.split("|")[0]+"px"; 
        var tbL=objV.split("|")[1]+"px"; 
        $("#dialog").css({top:tbT,left:tbL}); 
    } 



//关闭灰色JS遮罩层和操作窗口 
function closeBg(){ 
    $("#fullbg").css("display","none"); 
    $("#dialog").css("display","none"); 



</script>
<style type="text/css">
* {
    font-family:Arial, Helvetica, sans-serif;
    font-size:12px;
}
#fullbg {
    background-color: Gray;
    display:none;
    z-index:3;
    position:absolute;
    left:0px;
    top:0px;
    filter:Alpha(Opacity=30);
    /* IE */ 
    -moz-opacity:0.4;
    /* Moz + FF */ 
    opacity: 0.4;
}
#dialog {
    position:absolute;
    width:200px;
    height:200px;
    background:#F00;
    display: none;
    z-index: 5;
}
#main {
    height: 1500px;
}
</style>
</head>
<body>
<div id="main"> <a href="#rhis" οnclick="showBg('dialog','dialog_content');">点击这里看JS遮罩层效果</a> </div>
<!-- JS遮罩层 -->
<div id="fullbg"></div>
<!-- end JS遮罩层 -->
<!-- 对话框 -->
<div id="dialog">
<div id="dialog_content"></div>
<div style="text-align: center;"><a href="#" οnclick="closeBg();">关闭</a></div>
</div>
<!-- JS遮罩层上方的对话框 -->
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值