擴(kuò)展easyui.datagrid,添加數(shù)據(jù)loading遮罩效果代碼
更新時(shí)間:2010年11月02日 23:33:47 作者:
easyui可以說是輕量級(jí)的前端UI框架,更新到1.2.1支持更多的事件,方法和屬性
在使用的過程中,發(fā)現(xiàn)easyui目前還缺少一些小功能或是未開放出來
拿datagrid插件來說,數(shù)據(jù)加載提供了兩種方式遠(yuǎn)程和本地?cái)?shù)據(jù)加載,但只有遠(yuǎn)程數(shù)據(jù)加載時(shí)才會(huì)顯示數(shù)據(jù)加載的遮罩層,在數(shù)據(jù)加載完成后隱藏遮罩層;而本地?cái)?shù)據(jù)加載時(shí)則不會(huì)出現(xiàn)遮罩,這應(yīng)該是考慮到本地?cái)?shù)據(jù)加載的速度很快則沒有使用遮罩的必要
不過呢,在實(shí)際的項(xiàng)目開發(fā)過程中使用時(shí),沒有考慮使用url方式加載數(shù)據(jù),則采用了loadData方法來異步加載數(shù)據(jù),這個(gè)時(shí)候就很有必要顯示遮罩層來提示用戶當(dāng)前正在加載數(shù)據(jù),分析easyui的datagrid代碼,削離出其中遠(yuǎn)程數(shù)據(jù)加載時(shí)遮罩顯示代碼,并擴(kuò)展datagrid的方法,代碼如下:
//jquery.datagrid 擴(kuò)展
(function (){
$.extend($.fn.datagrid.methods, {
//顯示遮罩
loading: function(jq){
return jq.each(function(){
$(this).datagrid("getPager").pagination("loading");
var opts = $(this).datagrid("options");
var wrap = $.data(this,"datagrid").panel;
if(opts.loadMsg)
{
$("<div class=\"datagrid-mask\"></div>").css({display:"block",width:wrap.width(),height:wrap.height()}).appendTo(wrap);
$("<div class=\"datagrid-mask-msg\"></div>").html(opts.loadMsg).appendTo(wrap).css({display:"block",left:(wrap.width()-$("div.datagrid-mask-msg",wrap).outerWidth())/2,top:(wrap.height()-$("div.datagrid-mask-msg",wrap).outerHeight())/2});
}
});
}
,
//隱藏遮罩
loaded: function(jq){
return jq.each(function(){
$(this).datagrid("getPager").pagination("loaded");
var wrap = $.data(this,"datagrid").panel;
wrap.find("div.datagrid-mask-msg").remove();
wrap.find("div.datagrid-mask").remove();
});
}
});
})(jQuery);
使用方法:
$("#dataGrid").datagrid("loadData",(function (){
$("#dataGrid").datagrid("loading");
return [];//[]需要加載的數(shù)據(jù)
})());
在datagrid的事件onLoadSuccess中添加
onLoadSuccess:function (){
$("#dataGrid").datagrid("loaded");
}
writer:追夢(mèng)客 20101030 office
拿datagrid插件來說,數(shù)據(jù)加載提供了兩種方式遠(yuǎn)程和本地?cái)?shù)據(jù)加載,但只有遠(yuǎn)程數(shù)據(jù)加載時(shí)才會(huì)顯示數(shù)據(jù)加載的遮罩層,在數(shù)據(jù)加載完成后隱藏遮罩層;而本地?cái)?shù)據(jù)加載時(shí)則不會(huì)出現(xiàn)遮罩,這應(yīng)該是考慮到本地?cái)?shù)據(jù)加載的速度很快則沒有使用遮罩的必要
不過呢,在實(shí)際的項(xiàng)目開發(fā)過程中使用時(shí),沒有考慮使用url方式加載數(shù)據(jù),則采用了loadData方法來異步加載數(shù)據(jù),這個(gè)時(shí)候就很有必要顯示遮罩層來提示用戶當(dāng)前正在加載數(shù)據(jù),分析easyui的datagrid代碼,削離出其中遠(yuǎn)程數(shù)據(jù)加載時(shí)遮罩顯示代碼,并擴(kuò)展datagrid的方法,代碼如下:
復(fù)制代碼 代碼如下:
//jquery.datagrid 擴(kuò)展
(function (){
$.extend($.fn.datagrid.methods, {
//顯示遮罩
loading: function(jq){
return jq.each(function(){
$(this).datagrid("getPager").pagination("loading");
var opts = $(this).datagrid("options");
var wrap = $.data(this,"datagrid").panel;
if(opts.loadMsg)
{
$("<div class=\"datagrid-mask\"></div>").css({display:"block",width:wrap.width(),height:wrap.height()}).appendTo(wrap);
$("<div class=\"datagrid-mask-msg\"></div>").html(opts.loadMsg).appendTo(wrap).css({display:"block",left:(wrap.width()-$("div.datagrid-mask-msg",wrap).outerWidth())/2,top:(wrap.height()-$("div.datagrid-mask-msg",wrap).outerHeight())/2});
}
});
}
,
//隱藏遮罩
loaded: function(jq){
return jq.each(function(){
$(this).datagrid("getPager").pagination("loaded");
var wrap = $.data(this,"datagrid").panel;
wrap.find("div.datagrid-mask-msg").remove();
wrap.find("div.datagrid-mask").remove();
});
}
});
})(jQuery);
使用方法:
復(fù)制代碼 代碼如下:
$("#dataGrid").datagrid("loadData",(function (){
$("#dataGrid").datagrid("loading");
return [];//[]需要加載的數(shù)據(jù)
})());
在datagrid的事件onLoadSuccess中添加
復(fù)制代碼 代碼如下:
onLoadSuccess:function (){
$("#dataGrid").datagrid("loaded");
}
writer:追夢(mèng)客 20101030 office
您可能感興趣的文章:
- jQuery EasyUI API 中文文檔 - DataGrid數(shù)據(jù)表格
- Jquery下EasyUI組件中的DataGrid結(jié)果集清空方法
- jQuery easyui datagrid動(dòng)態(tài)查詢數(shù)據(jù)實(shí)例講解
- jQuery EasyUI datagrid實(shí)現(xiàn)本地分頁的方法
- jQuery EasyUI之DataGrid使用實(shí)例詳解
- jQuery Easyui DataGrid點(diǎn)擊某個(gè)單元格即進(jìn)入編輯狀態(tài)焦點(diǎn)移開后保存數(shù)據(jù)
- 實(shí)現(xiàn)easyui的datagrid導(dǎo)出為excel的示例代碼
- 詳解EasyUi控件中的Datagrid
- jquery Easyui Datagrid實(shí)現(xiàn)批量操作(編輯,刪除,添加)
- EasyUI使用DataGrid實(shí)現(xiàn)動(dòng)態(tài)列數(shù)據(jù)綁定
相關(guān)文章
多功能jQuery樹插件zTree實(shí)現(xiàn)權(quán)限列表簡單實(shí)例
這篇文章主要介紹了多功能jQuery樹插件zTree實(shí)現(xiàn)權(quán)限列表簡單實(shí)例,優(yōu)異的性能、靈活的配置、多種功能的組合,是樹插件zTree最大的優(yōu)勢(shì),感興趣的小伙伴們可以參考一下2016-07-07
jQuery CSS3自定義美化Checkbox實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了jQuery CSS3自定義美化Checkbox實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05
jquery判斷復(fù)選框選中狀態(tài)以及區(qū)分attr和prop
這篇文章主要介紹了jquery判斷復(fù)選框選中狀態(tài)以及區(qū)分attr和prop,感興趣的小伙伴們可以參考一下2015-12-12
jQuery插件Skippr實(shí)現(xiàn)焦點(diǎn)圖幻燈片特效
Skippr 是一個(gè)超級(jí)簡單的 jQuery 幻燈片插件。只是包括你的網(wǎng)頁中引入 jquery.skippr.css 和 jquery.skippr.js 文件就能使用了。Skippr 能夠自適應(yīng)窗口寬度,而且導(dǎo)航是獨(dú)特的條形導(dǎo)航。2015-04-04
分享20款美化網(wǎng)站的 jQuery Lightbox 燈箱插件
這篇文章主要介紹了分享20款美化網(wǎng)站的 jQuery Lightbox 燈箱插件,需要的朋友可以參考下2014-10-10

