var
FTabPages =
function
() {
var
tabKeeper = null;
var
wrap = $(document.body);
function
initTab(tabJson) {
tabKeeper = tabJson;
}
function
onTab(tabJson) {
if
(tabKeeper != null) {
var
divPrev = $(tabKeeper.container);
if
(tabKeeper.isErase) {
divPrev.
empty
();
}
divPrev.css(
"display"
,
"none"
);
}
tabKeeper = tabJson;
var
div = $(tabJson.container);
div.css(
"display"
,
""
);
if
($.trim(div.html()).length == ) {
loadwaiting();
getViewRequest(tabJson.url, tabJson.params,
function
(data) {
div.
empty
().html(data);
docallback(tabJson.callback);
removeloading();
},
function
(data) {
alert(
"数据获取超时或失败!"
);
removeloading();
});
}
else
{
docallback(tabJson.callback);
}
}
function
getViewRequest(url, params, onsuccess, onerror) {
$.ajax({
type:
'get'
,
url: url,
data: params,
contentType:
"text/html; charset=utf-"
,
timeout:,
success:
function
(data) {
if
(onsuccess != undefined && onsuccess != null) {
onsuccess(data);
}
},
error:
function
(data) {
if
(onerror != undefined && onerror != null) {
onerror(data);
}
}
});
}
function
docallback(callback) {
if
(typeof callback !=
'undefined'
&& callback
instanceof
Function) {
callback();
}
}
function
resetTab() {
loadwaiting();
var
div = $(tabKeeper.container);
getViewRequest(tabKeeper.url, tabKeeper.params,
function
(data) {
div.
empty
().html(data);
div.css(
"display"
,
""
);
docallback(tabKeeper.callback);
removeloading();
});
}
function
loadwaiting() {
$(
"<div class=\"datagrid-mask\"></div>"
).css({ display:
"block"
, width: wrap.width(), height: wrap.height() }).appendTo(wrap);
$(
"<div class=\"datagrid-mask-msg\"></div>"
).html(
"数据加载中,请稍候..."
).appendTo(wrap).css({ display:
"block"
, left: (wrap.width() - $(
"div.datagrid-mask-msg"
, wrap).outerWidth()) / , top: ($(window).height() - $(
"div.datagrid-mask-msg"
, wrap).outerHeight()) / });
}
function
removeloading() {
wrap.find(
"div.datagrid-mask-msg"
).remove();
wrap.find(
"div.datagrid-mask"
).remove();
}
function
initloading() {
var
css =
".datagrid-mask { "
;
css +=
" position: absolute; "
;
css +=
" left: ; "
;
css +=
" top: ; "
;
css +=
" width: %; "
;
css +=
" height: %; "
;
css +=
" opacity: .; "
;
css +=
" filter: alpha(opacity=); "
;
css +=
" display: none; "
;
css +=
"} "
;
css +=
".datagrid-mask-msg { "
;
css +=
" position: absolute; "
;
css +=
" top: %; "
;
css +=
" margin-top: -px; "
;
css +=
" padding: px px px px;"
;
css +=
" width: auto; "
;
css +=
" height: px; "
;
css +=
" border-width: px; "
;
css +=
" border-style: solid; "
;
css +=
" display: none; "
;
css +=
"}"
;
if
(document.all) {
window.style = css;
document.createStyleSheet(
"javascript:style"
);
}
else
{
var
style = document.createElement(
'style'
);
style.type =
'text/css'
;
style.innerHTML = css;
document.getElementsByTagName(
'HEAD'
).item().appendChild(style);
}
}
initloading();
return
{
onTab:
function
(tabJson) {
onTab(tabJson);
}
, resetTab:
function
() {
resetTab();
}
, init:
function
(tabJson) {
initTab(tabJson);
}
};
}();