`
lanyuexi
  • 浏览: 3967 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

easyUI 笔记2

阅读更多
/**
* 包含easyui的扩展和常用的方法
*
* @author 孙宇
*/

var sy = $.extend({}, sy);/* 全局对象 */

$.parser.auto = false;
$(function() {
$.messager.progress({
text : '页面加载中....',
interval : 100
});
$.parser.parse(window.document);
window.setTimeout(function() {
$.messager.progress('close');
if (self != parent) {
window.setTimeout(function() {
parent.$.messager.progress('close');
}, 500);
}
}, 1);
$.parser.auto = true;
});

$.fn.panel.defaults.onBeforeDestroy = function() {/* tab关闭时回收内存 */
var frame = $('iframe', this);
try {
if (frame.length > 0) {
frame[0].contentWindow.document.write('');
frame[0].contentWindow.close();
frame.remove();
if ($.browser.msie) {
CollectGarbage();
}
} else {
$(this).find('.combo-f').each(function() {
var panel = $(this).data().combo.panel;
panel.panel('destroy');
});
}
} catch (e) {
}
};

$.fn.panel.defaults.loadingMessage = '数据加载中,请稍候....';
$.fn.datagrid.defaults.loadMsg = '数据加载中,请稍候....';

var easyuiErrorFunction = function(XMLHttpRequest) {
/* $.messager.progress('close'); */
/* alert(XMLHttpRequest.responseText.split('<script')[0]); */
$.messager.alert('错误', XMLHttpRequest.responseText.split('<script')[0]);
};
$.fn.datagrid.defaults.onLoadError = easyuiErrorFunction;
$.fn.treegrid.defaults.onLoadError = easyuiErrorFunction;
$.fn.combogrid.defaults.onLoadError = easyuiErrorFunction;
$.fn.combobox.defaults.onLoadError = easyuiErrorFunction;
$.fn.form.defaults.onLoadError = easyuiErrorFunction;

var easyuiPanelOnMove = function(left, top) {/* 防止超出浏览器边界 */
if (left < 0) {
$(this).window('move', {
left : 1
});
}
if (top < 0) {
$(this).window('move', {
top : 1
});
}
};
$.fn.panel.defaults.onMove = easyuiPanelOnMove;
$.fn.window.defaults.onMove = easyuiPanelOnMove;
$.fn.dialog.defaults.onMove = easyuiPanelOnMove;

$.extend($.fn.validatebox.defaults.rules, {
eqPassword : {/* 扩展验证两次密码 */
validator : function(value, param) {
return value == $(param[0]).val();
},
message : '密码不一致!'
}
});

$.extend($.fn.datagrid.defaults.editors, {
combocheckboxtree : {
init : function(container, options) {
var editor = $('<input/>').appendTo(container);
options.multiple = true;
editor.combotree(options);
return editor;
},
destroy : function(target) {
$(target).combotree('destroy');
},
getValue : function(target) {
return $(target).combotree('getValues').join(',');
},
setValue : function(target, value) {
$(target).combotree('setValues', sy.getList(value));
},
resize : function(target, width) {
$(target).combotree('resize', width);
}
}
});

/**
* 获得项目根路径
*
* 使用方法:sy.bp();
*/
sy.bp = function() {
var curWwwPath = window.document.location.href;
var pathName = window.document.location.pathname;
var pos = curWwwPath.indexOf(pathName);
var localhostPaht = curWwwPath.substring(0, pos);
var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1);
return (localhostPaht + projectName);
};

/**
* 增加formatString功能
*
* 使用方法:sy.fs('字符串{0}字符串{1}字符串','第一个变量','第二个变量');
*/
sy.fs = function(str) {
for ( var i = 0; i < arguments.length - 1; i++) {
str = str.replace("{" + i + "}", arguments[i + 1]);
}
return str;
};

/**
* 增加命名空间功能
*
* 使用方法:sy.ns('jQuery.bbb.ccc','jQuery.eee.fff');
*/
sy.ns = function() {
var o = {}, d;
for ( var i = 0; i < arguments.length; i++) {
d = arguments[i].split(".");
o = window[d[0]] = window[d[0]] || {};
for ( var k = 0; k < d.slice(1).length; k++) {
o = o[d[k + 1]] = o[d[k + 1]] || {};
}
}
return o;
};

/**
* 生成UUID
*/
sy.random4 = function() {
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
};
sy.UUID = function() {
return (sy.random4() + sy.random4() + "-" + sy.random4() + "-" + sy.random4() + "-" + sy.random4() + "-" + sy.random4() + sy.random4() + sy.random4());
};

/**
* 获得URL参数
*/
sy.getUrlParam = function(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null)
return unescape(r[2]);
return null;
};

sy.getList = function(value) {
if (value) {
var values = [];
var t = value.split(',');
for ( var i = 0; i < t.length; i++) {
values.push('' + t[i]);/* 避免他将ID当成数字 */
}
return values;
} else {
return [];
}
};

sy.serializeObject = function(form)/*将表单序列化成一个对象*/

var o = {};
$.each(form.serializeArray(),function(index){
if(o[this['name']]){
o[this['name']] = o[this['name']]+ "," + this['value'];
}else{
o[this['name']] = this['value'];
}
});
return o;


sy.png = function() {
var imgArr = document.getElementsByTagName("IMG");
for ( var i = 0; i < imgArr.length; i++) {
if (imgArr[i].src.toLowerCase().lastIndexOf(".png") != -1) {
imgArr[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + imgArr[i].src + "', sizingMethod='auto')";
imgArr[i].src = "images/blank.gif";
}
if (imgArr[i].currentStyle.backgroundImage.lastIndexOf(".png") != -1) {
var img = imgArr[i].currentStyle.backgroundImage.substring(5, imgArr[i].currentStyle.backgroundImage.length - 2);
imgArr[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + img + "', sizingMethod='crop')";
imgArr[i].style.backgroundImage = "url('images/blank.gif')";
}
}
};
sy.bgPng = function(bgElements) {
for ( var i = 0; i < bgElements.length; i++) {
if (bgElements[i].currentStyle.backgroundImage.lastIndexOf(".png") != -1) {
var img = bgElements[i].currentStyle.backgroundImage.substring(5, bgElements[i].currentStyle.backgroundImage.length - 2);
bgElements[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + img + "', sizingMethod='crop')";
bgElements[i].style.backgroundImage = "url('images/blank.gif')";
}
}
};

sy.isLessThanIe8 = function() {/* 判断浏览器是否是IE并且版本小于8 */
return ($.browser.msie && $.browser.version <;
};

$.ajaxSetup({
type : 'POST',
error : function(XMLHttpRequest, textStatus, errorThrown) {/* 扩展AJAX出现错误的提示 */
$.messager.progress('close');
$.messager.alert('错误', XMLHttpRequest.responseText.split('<script')[0]);
}
});
分享到:
评论

相关推荐

    easyUI笔记

    ### easyUI笔记知识点详解 #### 一、什么是jQuery EasyUI? **jQuery EasyUI** 是一组基于 jQuery 的 UI 插件集合。它的目标是帮助 Web 开发者更容易地创建功能丰富且美观的用户界面。通过使用 **jQuery EasyUI**...

    easyui学习笔记(十三)源码

    2. **事件处理**:EasyUI 提供了大量的事件,如`onLoadSuccess`、`onClickRow`等,用于监听用户操作并执行相应的业务逻辑。研究源码能帮助我们掌握如何绑定和触发这些事件。 3. **数据绑定**:EasyUI 支持JSON数据...

    黑马12期 day73-EasyUI笔记

    2. 如何使用jQuery EasyUI框架提供的组件(如draggable和progressbar); 3. 在实际开发中,引入框架和组件时要注意不要重复引入相同文件; 4. EasyUI组件通过特定的class实现,如使用"easyui-draggable" class来...

    Easyui笔记2:实现datagrid多行删除的示例代码

    var dataStr = '{"total": 7, "rows": [{"test": 1}, {"test": 2}, {"test": 3}, {"test": 4}, {"test": 5}, {"test": 6}, {"test":7}]}'; var data = $.parseJSON(dataStr); $(function () { $('#dg').datagrid({...

    EasyUI学习笔记

    2.locale:包含语言支持的JS文件(是必须的) 3.plugins:各种JS插件包(必须的) 4.src:JS的源码(不是必须的) 5.themes:各种主题的图片资源,样式文件(必须的) 6.jquery.easyui.min.js:easyui的主要js文件(必须的) 7...

    easyui详细笔记03之[parser、panel]

    easyui详细笔记03之[parser、panel]

    easyui学习笔记(九)源码

    本笔记主要探讨的是 EasyUI 中与 `datagrid` 相关的部分,通过源码我们可以深入了解数据网格的实现细节。 `datagrid` 是 EasyUI 提供的一个核心组件,它用于展示表格数据,并提供了丰富的功能,如排序、分页、过滤...

    easyUI笔记11

    在这个“easyUI笔记11”中,我们将深入探讨EasyUI的一些核心概念和常用功能。 首先,要使用EasyUI,你需要先下载其资源包,可以从官方下载地址(http://www.jeasyui.com/download/index.php)获取。下载后,引入...

    easyui详细笔记01之群和学习网站

    这是自己学习easyui留下来的详细笔记,从陌生到熟悉,记录下了点点滴滴。本人还上传了其他详细笔记,欢迎光顾

    JQuery EasyUI 学习笔记珍藏版

    **jQuery EasyUI 学习笔记珍藏版** jQuery EasyUI 是一个基于 jQuery 的前端框架,它为开发者提供了丰富的UI组件,使得构建用户界面变得更加简单高效。这个珍藏版的学习笔记涵盖了广泛的jQuery EasyUI主题,旨在...

    JQueryEasyUI学习笔记(十)源码

    **jQuery EasyUI 学习笔记(十):深入源码** 在Web开发中,jQuery EasyUI是一个基于jQuery的UI框架,它提供了丰富的组件和便捷的API,帮助开发者快速构建交互式的用户界面。本篇笔记主要关注jQuery EasyUI的源码...

    easyui以及Springmvc使用笔记

    在IT行业中,EasyUI和SpringMVC是两个非常重要的技术框架,它们在...以上就是关于"easyui以及Springmvc使用笔记"的一些主要知识点,希望能对你的开发工作提供帮助。在实际开发中,不断实践和总结经验是提升技能的关键。

    easyUI学习笔记简书1

    在"EasyUI 学习笔记简书1"中,主要介绍了 EasyUI 的边框布局(Border Layout)。 边框布局是 EasyUI 提供的一种常见布局模式,它将页面划分为五个区域:east(东)、west(西)、north(北)、south(南)和 center...

    easyui dialog和messager样式更改

    easyui dialog和messager样式更改,默认样式太丑

    JQueryEasyUI学习笔记(十一)源码

    在本篇jQuery EasyUI的学习笔记中,我们将深入探讨如何实现右键菜单以及冻结列的功能,这对于构建用户交互丰富的Web应用程序至关重要。jQuery EasyUI是一个基于jQuery的UI库,它提供了大量的预定义组件,使得开发者...

    JQueryEasyUI学习笔记(九)源码

    在本篇JQueryEasyUI的学习笔记中,我们将深入探讨如何利用这个强大的JavaScript库来实现一些常见的数据操作功能,包括批量删除、行内编辑以及自定义编辑器方法。JQueryEasyUI是一个基于jQuery的UI框架,它提供了一...

    JQueryEasyUI学习笔记(十二)源码

    **jQuery EasyUI 学习笔记(十二):深入解析源码** jQuery EasyUI 是一个基于 jQuery 的前端框架,它提供了一系列轻量级、易于使用的组件,帮助开发者快速构建用户界面。在这一章节的学习笔记中,我们将深入探讨...

    JQueryEasyUI学习笔记(十五)异步tree 源码

    在“JQueryEasyUI学习笔记(十五)异步tree 源码”中,我们可以看到关于如何实现这一功能的具体步骤和源代码解析。 首先,我们需要理解异步Tree的基本结构。每个节点都包含一个标识符(id)、文本(text)以及可选...

Global site tag (gtag.js) - Google Analytics