扩展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 相关文章推荐
使用jquery 简单实现下拉菜单
Jan 14 Javascript
javascript模拟评分控件实现方法
May 13 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
May 21 Javascript
javascript运算符——位运算符全面介绍
Jul 14 Javascript
使用JavaScript为一张图片设置备选路径的方法
Jan 04 Javascript
从零开始做一个pagination分页组件
Mar 15 Javascript
浅谈Angular4实现热加载开发旅程
Sep 08 Javascript
Vue-Access-Control 前端用户权限控制解决方案
Dec 01 Javascript
让网站自动生成章节目录索引的多个js代码
Jan 07 Javascript
vue + element-ui的分页问题实现
Dec 17 Javascript
three.js 实现露珠滴落动画效果的示例代码
Mar 01 Javascript
原生JS实现分页
Apr 19 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
ajax取消挂起请求的处理方法
2013/03/18 PHP
PHP实现冒泡排序的简单实例
2016/05/26 PHP
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
js下用gb2312编码解码实现方法
2009/12/31 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
2015/04/15 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
2015/08/25 Javascript
Nodejs进阶:基于express+multer的文件上传实例
2016/11/21 NodeJs
JavaScript奇技淫巧44招【实用】
2016/12/11 Javascript
详解nodejs微信公众号开发——3.封装消息响应模块
2017/04/10 NodeJs
javascript实现Java中的Map对象功能的实例详解
2017/08/21 Javascript
Vue.js进行查询操作的实例详解
2017/08/25 Javascript
vue通过滚动行为实现从列表到详情,返回列表原位置的方法
2018/08/31 Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
2019/04/08 Javascript
vue接通后端api以及部署到服务器操作
2020/08/13 Javascript
Python过滤列表用法实例分析
2016/04/29 Python
python实现发送邮件功能代码
2017/12/14 Python
Python3一行代码实现图片文字识别的示例
2018/01/15 Python
Python实现FM算法解析
2019/06/18 Python
python中p-value的实现方式
2019/12/16 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
2019/12/22 Python
python字符串,元组,列表,字典互转代码实例详解
2020/02/14 Python
如何将PySpark导入Python的放实现(2种)
2020/04/26 Python
PyQt5结合matplotlib绘图的实现示例
2020/09/15 Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
2021/02/01 Python
英国Amara家居法国网站:家居装饰,现代装饰和豪华礼品
2016/12/15 全球购物
澳大利亚在线购买葡萄酒:The Wine Collective
2020/02/20 全球购物
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
请解释流与文件有什么不同
2016/07/29 面试题
求职简历的自我评价
2014/01/31 职场文书
妈妈的账单教学反思
2014/02/06 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
质检员岗位职责范本
2015/04/07 职场文书
2015年社区居委会工作总结
2015/05/18 职场文书
中秋联欢会主持词
2015/07/04 职场文书
小学入学感言
2015/08/01 职场文书
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技