扩展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 相关文章推荐
让iframe框架网页在任何浏览器下自动伸缩
Aug 18 Javascript
JavaScript constructor和instanceof,JSOO中的一对欢喜冤家
May 25 Javascript
JavaScript OOP类与继承
Nov 15 Javascript
javascript加号&quot;+&quot;的二义性说明
Mar 04 Javascript
jQuery的slideToggle方法实例
May 07 Javascript
js实现鼠标悬浮给图片加边框的方法
Jan 30 Javascript
JavaScript中用let语句声明作用域的用法讲解
May 20 Javascript
用AngularJS来实现监察表单按钮的禁用效果
Nov 02 Javascript
zTree实现节点修改的实时刷新功能
Mar 20 Javascript
如何理解Vue的v-model指令的使用方法
Jul 19 Javascript
Vuex 单状态库与多模块状态库详解
Dec 11 Javascript
基于Vant UI框架实现时间段选择器
Dec 24 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
索尼SONY ICF-7600A(W)电路分析
2021/03/01 无线电
PR值查询 | PageRank 查询
2006/12/20 PHP
PHP序列号生成函数和字符串替换函数代码
2012/06/07 PHP
浅析php中常量,变量的作用域和生存周期
2013/08/10 PHP
PHP类的声明与实例化及构造方法与析构方法详解
2016/01/26 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
2019/12/31 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
2020/05/26 PHP
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
JS跨域总结
2012/08/30 Javascript
Nodejs+express+html5 实现拖拽上传
2014/08/08 NodeJs
JavaScript中跨域调用Flash的方法
2014/08/11 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
jquery控制表单输入框显示默认值的方法
2015/05/22 Javascript
JavaScript跨域调用基于JSON的RESTful API
2016/07/09 Javascript
Select下拉框模糊查询功能实现代码
2016/07/22 Javascript
Google 地图事件实例讲解
2016/08/06 Javascript
详解Layer弹出层样式
2017/08/21 Javascript
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
2017/09/11 Javascript
利用Angular2 + Ionic3开发IOS应用实例教程
2018/01/15 Javascript
解决vue中修改了数据但视图无法更新的情况
2018/08/27 Javascript
微信小程序登陆注册功能的实现代码
2019/12/10 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
利用Python进行异常值分析实例代码
2017/12/07 Python
利用selenium爬虫抓取数据的基础教程
2019/06/10 Python
Python实现自动签到脚本功能
2020/08/20 Python
如何用用Python将地址标记在地图上
2021/02/07 Python
意大利奢侈品综合电商网站:MODES
2019/12/14 全球购物
C语言笔试题
2014/09/04 面试题
幼儿园教师请假制度
2014/01/16 职场文书
护士在校生自荐信
2014/02/01 职场文书
2014年感恩母亲演讲稿
2014/05/27 职场文书
学校运动会霸气口号
2014/06/07 职场文书
请假条应该怎么写?
2019/06/24 职场文书
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
2021/03/29 Python
pytorch Dropout过拟合的操作
2021/05/27 Python