扩展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 相关文章推荐
createElement动态创建HTML对象脚本代码
Nov 24 Javascript
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
Jun 19 Javascript
js实现按钮加背景图片常用方法
Nov 01 Javascript
JavaScript分秒倒计时器实现方法
Feb 02 Javascript
原生JavaScript制作微博发布面板效果
Mar 11 Javascript
浅谈AngularJS中ng-class的使用方法
Nov 11 Javascript
微信小程序 传值取值的几种方法总结
Jan 16 Javascript
解决webpack -p压缩打包react报语法错误的方法
Jul 03 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
Jan 23 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
Sep 19 Javascript
Vuex的热更替如何实现
Jun 05 Javascript
Vue跨域请求问题解决方案过程解析
Aug 07 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
GBK的页面输出JSON格式的php函数
2010/02/16 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
PHP封装的多文件上传类实例与用法详解
2017/02/07 PHP
PHP计算近1年的所有月份
2017/03/13 PHP
Jquey拖拽控件Draggable使用方法(asp.net环境)
2010/09/28 Javascript
web前端设计师们常用的jQuery特效插件汇总
2014/12/07 Javascript
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
老生常谈Javascript中的原型和this指针
2016/10/09 Javascript
Ajax的概述与实现过程
2016/11/18 Javascript
简单实现js倒计时功能
2017/02/13 Javascript
iframe与主框架跨域相互访问实现方法
2017/09/14 Javascript
vue.js 微信支付前端代码分享
2018/02/10 Javascript
Vue通过ref父子组件拿值方法
2018/09/12 Javascript
jQuery中使用validate插件校验表单功能
2019/05/24 jQuery
JavaScript实现复选框全选和取消全选
2020/11/20 Javascript
python基础教程之类class定义使用方法
2014/02/20 Python
简单介绍利用TK在Python下进行GUI编程的教程
2015/04/13 Python
Python机器学习之决策树算法实例详解
2017/12/06 Python
Python学习pygal绘制线图代码分享
2017/12/09 Python
Django 实现购物车功能的示例代码
2018/10/08 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
Python 实例方法、类方法、静态方法的区别与作用
2019/08/14 Python
python 画函数曲线示例
2019/12/04 Python
Python面向对象之继承原理与用法案例分析
2019/12/31 Python
python中resample函数实现重采样和降采样代码
2020/02/25 Python
一文解决django 2.2与mysql兼容性问题
2020/07/15 Python
python如何发送带有附件、正文为HTML的邮件
2021/02/27 Python
世界上最全面的草药补充剂和顶级品牌维生素网站:HerbsPro
2019/01/20 全球购物
旅游专业职业生涯规划范文
2014/01/13 职场文书
拾金不昧的表扬信
2014/01/16 职场文书
幼儿老师求职信
2014/06/30 职场文书
工作服管理制度范本
2015/08/06 职场文书
2019年个人工作总结范文
2019/03/25 职场文书
导游词之潮音寺
2019/09/26 职场文书
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python
Python安装使用Scrapy框架
2022/04/12 Python