新建一個mask.js文件,存放以下代碼:
//作用:彈出遮罩,提示加載中
var MaskUtil = (function(){
var $mask,$maskMsg;
var defMsg = '正在處理,請稍待。。。';
function init(){
if(!$mask){
$mask = $("<div class=\"datagrid-mask mymask\"></div>").appendTo("body").css("z-index","99998");
}
if(!$maskMsg){
$maskMsg = $("<div class=\"datagrid-mask-msg mymask\">"+defMsg+"</div>")
.appendTo("body").css({'font-size':'12px','z-index':'99998'});
}
$mask.css({width:"100%",height:$(document).height()});
var scrollTop = $(document.body).scrollTop();
$maskMsg.css({
left:( $(document.body).outerWidth(true) - 190 ) / 2
,top:( ($(window).height() - 45) / 2 ) + scrollTop
});
}
return {
mask:function(msg){
init();
$mask.show();
$maskMsg.html(msg||defMsg).show();
}
,unmask:function(){
//隱藏遮罩層之前,先判斷是否存在遮罩層
if(undefined!=$mask){
$mask.hide();
$maskMsg.hide();
}
}
}
}());
<!--引入mask.js文件-->
<script src="common/js/mask.js"></script>
遮罩層的使用:
MaskUtil.mask("數據加載中...");//請求後臺前顯示遮罩
$.post(
basePath + "demo/test.do",
function (result) {
MaskUtil.unmask();//後臺請求完後移除遮罩
});
效果圖: