扩展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 相关文章推荐
js表数据排序 sort table data
Feb 18 Javascript
js 多种变量定义(对象直接量,数组直接量和函数直接量)
May 24 Javascript
统计jQuery中各字符串出现次数的工具
May 03 Javascript
JavaScript程序员应该知道的45个实用技巧
Mar 04 Javascript
JS中prototype的用法实例分析
Mar 19 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
Apr 25 Javascript
JQuery菜单效果的两个实例讲解(3)
Sep 17 Javascript
js判断手机号运营商的方法
Oct 23 Javascript
js去字符串前后空格的实现方法
Feb 26 Javascript
详谈表单重复提交的三种情况及解决方法
Aug 16 Javascript
JS左右无缝轮播功能完整实例
May 16 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
Jul 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开发GUI
2006/10/09 PHP
关于PHP内存溢出问题的解决方法
2013/06/25 PHP
PHP实现单例模式最安全的做法
2014/06/13 PHP
JavaScript与HTML结合的基本使用方法整理
2015/10/12 PHP
java与javascript之间json格式数据互转介绍
2013/10/29 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
2016/06/28 Javascript
纯JS打造网页中checkbox和radio的美化效果
2016/10/13 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
基于Express框架使用POST传递Form数据
2019/08/10 Javascript
Vue-Cli项目优化操作的实现
2019/10/27 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
2020/04/07 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
wx.CheckBox创建复选框控件并响应鼠标点击事件
2018/04/25 Python
python调用百度语音识别实现大音频文件语音识别功能
2018/08/30 Python
Pyqt清空某一个QTreeewidgetItem下的所有分支方法
2019/06/17 Python
Django自带的加密算法及加密模块详解
2019/12/03 Python
python的pip有什么用
2020/06/17 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
css3实现针线缝合效果(图解步骤)
2013/02/04 HTML / CSS
KIKO比利时官网:意大利彩妆品牌
2017/07/23 全球购物
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
UNIX文件类型
2013/08/29 面试题
动物科学专业毕业生的自我评价
2013/11/29 职场文书
单位领导证婚词
2014/01/14 职场文书
2014年教研室工作总结
2014/12/06 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书
总经理助理岗位职责范本
2015/03/31 职场文书
建筑工地资料员岗位职责
2015/04/13 职场文书
运动会闭幕式通讯稿
2015/07/18 职场文书
企业内部管理控制:采购授权审批制度范本
2020/01/19 职场文书