用jquery实现overlay遮罩层

ExpandedBlockStart.gif 代码
/*
模态遮罩层单例对象
opacity:背景透明度
1. show()
2. close()
*/
Q.Overlay 
=  function(opacity) {
    var self 
=   this ;
    self._createDiv 
=  function() {

        
if  (self._overlay)  return ;
        self._overlay 
=  $( " <div></div> " );

        var overlayCss 
=  {
            
' width ' ' 100% ' ,
            
' min-height ' ' 100% ' ,
            
' position ' ' fixed ' ,
            
' top ' 0 ,
            
' left ' 0 ,
            
' z-index ' : Q.Overlay.zindex,
            
' background ' ' #ccc ' ,
            
' text-align ' ' center ' ,
            
' opacity ' : opacity
        };

        
if  ($.browser.msie  &&  $.browser.version.substr( 0 1 <   7 ) {
            overlayCss.position 
=   " absolute " ;
            overlayCss.height 
=  Q.dom.pageHeight();
        }
        self._overlay.css(overlayCss);
        $(document.body).append(self._overlay);
    };
    self.show 
=  function() {
        self._createDiv();
        Q.Overlay.zindex
++ ;
        self._overlay.show();
    };
    self.close 
=  function() {
        self._overlay.hide();
        self._overlay.remove();
        self._overlay 
=  undefined;
    };
}
Q.Overlay.zindex 
=   1000 ;

下面是个应用的小例子用来统一处理ajax请求中利用完全透明遮罩层组织用户和界面元素交换,当ajax出错时提示用户

 

ExpandedBlockStart.gif 代码
/* 统一ajax错误处理 */
Q.initAjaxErrorHandler 
=  function() {
    var overlay 
=   new  Q.Overlay( 0.0 );
    $(document.body).ajaxStart(function() { overlay.show(); });
    $(document.body).ajaxSuccess(function() { overlay.close(); });
    $(document.body).ajaxError(function() { Q.alert(
" 请求出错,请刷新页面并稍候再试! " ) });
}


 

 

 

转载于:https://www.cnblogs.com/xhan/archive/2010/08/24/1807546.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值