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

