扩展easyui.datagrid,添加数据loading遮罩效果代码


Posted in Javascript onNovember 02, 2010

在使用的过程中,发现easyui目前还缺少一些小功能或是未开放出来

拿datagrid插件来说,数据加载提供了两种方式远程和本地数据加载,但只有远程数据加载时才会显示数据加载的遮罩层,在数据加载完成后隐藏遮罩层;而本地数据加载时则不会出现遮罩,这应该是考虑到本地数据加载的速度很快则没有使用遮罩的必要

不过呢,在实际的项目开发过程中使用时,没有考虑使用url方式加载数据,则采用了loadData方法来异步加载数据,这个时候就很有必要显示遮罩层来提示用户当前正在加载数据,分析easyui的datagrid代码,削离出其中远程数据加载时遮罩显示代码,并扩展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 [];//[]需要加载的数据 
})());

在datagrid的事件onLoadSuccess中添加
onLoadSuccess:function (){ 
$("#dataGrid").datagrid("loaded"); 
}

writer:追梦客 20101030 office
Javascript 相关文章推荐
javascript设计模式 封装和信息隐藏(上)
Jul 24 Javascript
脚本合并提升javascript性能示例
Feb 24 Javascript
js交换排序 冒泡排序算法(Javascript版)
Oct 04 Javascript
JavaScript中的无阻塞加载性能优化方案
Oct 10 Javascript
JavaScript对数组进行随机重排的方法
Jul 22 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
Aug 04 Javascript
javascript日期验证之输入日期大于等于当前日期
Dec 13 Javascript
js自定义回调函数
Dec 13 Javascript
详解JavaScript实现设计模式中的适配器模式的方法
May 18 Javascript
jQuery File Upload文件上传插件使用详解
Dec 06 Javascript
解决layer.msg 不居中 ifram中的问题
Sep 05 Javascript
前端监听websocket消息并实时弹出(实例代码)
Nov 27 Javascript
关于document.cookie的使用javascript
Oct 29 #Javascript
深入理解JavaScript定时机制
Oct 29 #Javascript
在JS中最常看到切最容易迷惑的语法(转)
Oct 29 #Javascript
ExtJS 入门
Oct 29 #Javascript
js 弹出框 替代浏览器的弹出框
Oct 29 #Javascript
javascript天然的迭代器
Oct 29 #Javascript
不使用中间变量,交换int型的 a, b两个变量的值。
Oct 29 #Javascript
You might like
PHP设置头信息及取得返回头信息的方法
2016/01/25 PHP
php使用curl并发减少后端访问时间的方法分析
2016/05/12 PHP
图片延迟加载的实现代码(模仿懒惰)
2013/03/29 Javascript
JQuery设置和去除disabled属性的5种方法总结
2013/05/16 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
2015/04/02 Javascript
JavaScript的设计模式经典之建造者模式
2016/02/24 Javascript
如何用JavaScript实现动态修改CSS样式表
2016/05/20 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
详解Angular 4.x NgTemplateOutlet
2017/05/24 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
2017/06/03 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
Vue解析带html标签的字符串为dom的实例
2019/11/13 Javascript
javascript+css实现俄罗斯方块小游戏
2020/06/28 Javascript
python判断一个集合是否包含了另外一个集合中所有项的方法
2015/06/30 Python
Python数据类型详解(四)字典:dict
2016/05/12 Python
python实现发送form-data数据的方法详解
2019/09/27 Python
Python如何使用PIL Image制作GIF图片
2020/05/16 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
2020/07/02 Python
keras的三种模型实现与区别说明
2020/07/03 Python
介绍CSS3使用技巧5个
2009/04/02 HTML / CSS
HTML高亮关键字的实现代码
2018/10/22 HTML / CSS
Nice Kicks网上商店:ShopNiceKicks.com
2018/12/25 全球购物
javascript实现用户必须勾选协议实例讲解
2021/03/24 Javascript
中文系师范生自荐信
2013/10/01 职场文书
电气工程自动化求职信
2014/03/14 职场文书
吨的认识教学反思
2014/04/27 职场文书
服务承诺书格式
2014/05/21 职场文书
关爱老人标语
2014/06/21 职场文书
六年级数学教学反思
2016/02/16 职场文书
2016学雷锋优秀志愿者事迹材料
2016/02/25 职场文书
2019大学竞选班长发言稿
2019/06/27 职场文书
Go各时间字符串使用解析
2021/04/02 Golang
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python
Spring Boot项目如何优雅实现Excel导入与导出功能
2022/06/10 Java/Android