//这里 实现了 extjs 与jquery ajax 请求是 自动 遮罩 页面
//功能 二 动态加载注册 contral
var RhisAppPath = "";
function InitCon(con, appPath) {
InitCons([con], appPath);
}
/* 显示遮罩层 */
function showOverlay() {
$("#tiger_overlay").height(document.body.scrollHeight);
$("#tiger_overlay").width(document.body.scrollWidth);
// fadeTo第一个参数为速度,第二个为透明度
// 多重方式控制透明度,保证兼容性,但也带来修改麻烦的问题
$("#tiger_overlay").fadeTo(0, 0.5);
}
/* 隐藏覆盖层 */
function hideOverlay() {
$("#tiger_overlay").fadeOut(0);
}
var tiger_request_num = 0;
//contral,虚拟目录
function InitCons(cons,appPath) {
RhisAppPath = appPath;
$(document).ready(function () {
$("body").append('<table id = "tiger_overlay"><tr><td style="vertical-align:middle;"><img src="' + appPath + '/my-ico/waitred.gif"/><td/></tr></table>');
//设置extjsajax 屏蔽
Ext.override(Ext.data.Connection, {
request: Ext.Function.createSequence(Ext.data.Connection.prototype.request, function () {
if (tiger_request_num == 0) {
showOverlay();
}
tiger_request_num++;
}),
onUploadComplete: Ext.Function.createSequence(Ext.data.Connection.prototype.onUploadComplete, function () {
tiger_request_num--;
if (tiger_request_num == 0) {
hideOverlay();
}
}),
onComplete: Ext.Function.createSequence(Ext.data.Connection.prototype.onComplete, function () {
tiger_request_num--;
if (tiger_request_num == 0) {
hideOverlay();
}
})
});
//jquery 屏蔽
$(document).ajaxStart(function () {
if (tiger_request_num == 0) {
showOverlay();
}
tiger_request_num++;
}).ajaxStop(function () {
tiger_request_num--;
if (tiger_request_num == 0) {
hideOverlay();
}
});
//应用设置
Ext.Loader.setConfig({
disableCaching: true,
enabled: true
});
//应用初始参数
Ext.application({
name: 'RHIS',
appFolder: appPath + '/app',
controllers: cons
, autoCreateViewport: false
});
});
}
csss
/* 半透明的遮罩层 */
#tiger_overlay {
background-color:Gray;
text-align:center;
filter: alpha(opacity=50); /* IE的透明度 */
opacity: 0.5; /* 透明度 */
display: none;
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
z-index: 1000000; /* 此处的图层要大于页面 */
display:none;
line-height:normal;
}