/// <reference path="jquery-1.8.0.min.js" />
/*
* DIV或元素居中
* @return
*/
jQuery.fn.mCenterDiv = function () {
this.css("position", "absolute");
this.css("border", "1px solid #ccc");
this.css("top", ($(window).height() - this.height()) / 2 + $(window).scrollTop() + "px");
this.css("left", ($(window).width() - this.width()) / 2 + $(window).scrollLeft() + "px");
this.show(100);
return this;
}; /*
* 替换字符串中所有符合的字符
* @param ASource 源字符串
* @param AFindText 待替换字符
* @param ARepText 替换后字符
* @return
*/
jQuery.mReplaceAll = function (ASource,AFindText, ARepText) {
var raRegExp = new RegExp(AFindText, "g");
return ASource.replace(raRegExp, ARepText);
}; /*
* 判断object是否空,未定义或null
* @param object
* @return
*/
jQuery.mIsNull = function (obj) {
if (obj == "" || typeof(obj) == "undefined" || obj == null) {
return true;
}
else {
return false;
}
}; /*
* 获取URL参数
* @param name 参数
* @return
*/
jQuery.mGetUrlParam = 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;
}; /*
* 乘法函数,用来得到精确的乘法结果
* @param arg1 参数1
* @param arg2 参数2
* @return
*/
jQuery.mAccMul = function(arg1, arg2) {
var m = 0, s1 = arg1.toString(), s2 = arg2.toString();
try { m += s1.split(".")[1].length } catch (e) { }
try { m += s2.split(".")[1].length } catch (e) { }
return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m)
} /*
* 获取随机数
* @param x 下限
* @param y 上限
* @return
*/
jQuery.mGetRandom = function (x, y) {
return parseInt(Math.random() * (y - x + 1) + x); }; /*
* 将数值四舍五入(保留2位小数)后格式化成金额形式
* @param num 数值(Number或者String)
* @return 金额格式的字符串,如'1,234,567.45'
*/
jQuery.mFormatCurrency = function(num) {
num = num.toString().replace(/\$|\,/g, '');
if (isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num * 100 + 0.50000000001);
cents = num % 100;
num = Math.floor(num / 100).toString();
if (cents < 10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
num = num.substring(0, num.length - (4 * i + 3)) + ',' +
num.substring(num.length - (4 * i + 3));
return (((sign) ? '' : '-') + num + '.' + cents);
} /*
* 正则验证
* @param s 验证字符串
* @param type 验证类型 money,china,mobile等
* @return
*/
jQuery.mCheck = function (s, type) {
var objbool = false;
var objexp = "";
switch (type) {
case 'money': //金额格式,格式定义为带小数的正数,小数点后最多三位
objexp = "^[0-9]+[\.][0-9]{0,3}$";
break;
case 'numletter_': //英文字母和数字和下划线组成
objexp = "^[0-9a-zA-Z\_]+$";
break;
case 'numletter': //英文字母和数字组成
objexp = "^[0-9a-zA-Z]+$";
break;
case 'numletterchina': //汉字、字母、数字组成
objexp = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";
break;
case 'email': //邮件地址格式
objexp = "^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$";
break;
case 'tel': //固话格式
objexp = /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/;
break;
case 'mobile': //手机号码
objexp = "^(13[0-9]|15[0-9]|18[0-9])([0-9]{8})$";
break;
case 'decimal': //浮点数
objexp = "^[0-9]+([.][0-9]+)?$";
break;
case 'url': //网址
objexp = "(http://|https://){0,1}[\w\/\.\?\&\=]+";
break;
case 'date': //日期 YYYY-MM-DD格式
objexp = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
break;
case 'int': //整数
objexp = "^[0-9]*[1-9][0-9]*$";
break;
case 'int+': //正整数包含0
objexp = "^\\d+$";
break;
case 'int-': //负整数包含0
objexp = "^((-\\d+)|(0+))$";
break;
case 'china': //中文
objexp = /^[\u0391-\uFFE5]+$/;
break;
}
var re = new RegExp(objexp);
if (re.test(s)) {
return true;
}
else {
return false;
}
}; /*
* 获取控件的值
* @param controlID 控件ID
* @param controltype 类型 如text radio
* @return
*/
jQuery.mGetValue = function (controlID, controltype) {
var objValue = "";
switch (controltype) {
case 'text': //文本输入框
objValue = $.trim($("#" + controlID + "").attr("value")); //取值去左右空格
break;
case 'radio': //单选框
objValue = $("input[name='" + controlID + "']:checked").attr("value");
break;
case 'select': //下拉列表
objValue = $("#" + controlID + "").attr("value");
break;
case 'checkbox': //多选框
$("input[name='" + controlID + "']:checked").each(function () {
objValue += $(this).val() + ",";
});
break;
default:
break;
}
return objValue;
}; /*
* 设置控件的值
* @param controlID 控件ID
* @param controltype 类型 如text radio
* @param controlvalue 绑定值
* @return
*/
jQuery.mSetValue = function (controlID, controltype, controlvalue) {
switch (controltype) {
case 'text': //文本输入框
//$("#txtUserID").attr("value", '这是绑定内容'); //填充内容
//$("input[name='radio1'][value='上海']").attr("checked", true); //单选组radio:设置value='上海'的项目为当前选中项
//$("#select1").attr("value", '葡萄牙'); //下拉框select:设置value='中国'的项目为当前选中项
//$("input[name='checkbox1'][value='黑色'],[value='蓝色']").attr("checked", true); //多选框:设置多个值为当前选中项
$("#" + controlID + "").attr("value", controlvalue); //填充内容
break;
case 'radio': //单选框
$("input[name='" + controlID + "'][value='" + controlvalue + "']").attr("checked", true);
break;
case 'select': //下拉列表
$("#" + controlID + "").attr("value", controlvalue);
break;
case 'checkbox': //多选框
$("input[name='" + controlID + "'][value='" + controlvalue + "'],[value='" + controlvalue + "']").attr("checked", true); //多选框:设置多个值为当前选中项
break;
default:
break;
}
}; /*
* 兼容IE火狐等浏览器的自动跳转
* @param url 跳转网址
* @return
*/
jQuery.mAutoNav = function (url) {
if ($.browser.msie) {
var referLink = document.createElement('a');
referLink.href = url;
document.body.appendChild(referLink);
referLink.click();
} else {
location.href = url;
}
}; /*
* Table表格奇偶行设置颜色及移动鼠标行变色
* @param table 表格ID
* @return
*/
jQuery.mTableHover = function (table) {
$("#" + table).each(function () {
var o = $(this);
//设置偶数行和奇数行颜色
o.find("tr:even").css("background-color", "#EFF3FB");
o.find("tr:odd").css("background-color", "#FFFFFF");
//鼠标移动隔行变色hover用法关键
o.find("tr:not(:first)").hover(function () {
$(this).attr("bColor", $(this).css("background-color")).css("background-color", "#E0E0E0");
}, function () {
$(this).css("background-color", $(this).attr("bColor"));
});
});
}; /*
* gridview 隔行换色 鼠标滑过变色 多选
* c#获取选择值 Request.Form.Get("chkItem")
* @param objgridview ID
* @return
*/
jQuery.mGridview = function (objgridview) {
var headcolor = { background: '#E0ECFF', color: '#333' };
var normalcolor = { background: '#f7f6f3' };
var altercolor = { background: '#EDF1F8' };
var hovercolor = { background: '#89A5D1' };
var selectcolor = { background: '#ACBFDF' };
var nullcolor = {};
//get obj id
var gridviewId = "#" + objgridview;
//even
$(gridviewId + ">tbody tr:even").css(normalcolor);
//first
$(gridviewId + ">tbody tr:first").css(nullcolor).css(headcolor);
//odd
$(gridviewId + ">tbody tr:odd").css(altercolor);
//hover
$(gridviewId + ">tbody tr").click(function () {
var cb = $(this).find("input:checkbox");
var chf = typeof (cb.attr("checked")) == "undefined" ? true : false;
cb.attr("checked", chf);
var expr1 = gridviewId + ' >tbody >tr >td >input:checkbox:checked';
var expr2 = gridviewId + ' >tbody >tr >td >input:checkbox';
var selectAll = $(expr1).length == $(expr2).length;
$('#chkAll').attr('checked', selectAll);
}).hover(function () {
$(this).css(hovercolor);
}, function () {
$(gridviewId + ">tbody tr:even").css(normalcolor);
$(gridviewId + ">tbody tr:first").css(nullcolor).css(headcolor);
$(gridviewId + ">tbody tr:odd").css(altercolor);
}); //all check
$("#chkAll").click(function () {
$(gridviewId + '>tbody >tr >td >input:checkbox:visible').attr('checked', this.checked);
});
//check status
$(gridviewId + ' >tbody >tr >td >input:checkbox').click(function () {
var cb = $(this);
var chf = typeof (cb.attr("checked")) == "undefined" ? true : false;
cb.attr("checked", chf);
var expr1 = gridviewId + ' >tbody >tr >td >input:checkbox:checked';
var expr2 = gridviewId + ' >tbody >tr >td >input:checkbox';
var selectAll = $(expr1).length == $(expr2).length;
$('#chkAll').attr('checked', selectAll);
});
}; /*
* 屏幕居中显示处理进度
* @param info 显示文字
* @param type 方式 0遮罩 1不遮罩
* @param typepic 图片 0:load 1:ok 2:error
* @return
*/
jQuery.mMaskLoad = function (info, type, typepic) {
var pic = "";
switch (typepic) {
case 0: // loading
pic = "./Images/loading.gif";
break;
case 1: // ok
pic = "./Images/right.png";
break;
case 2: // error
pic = "./Images/error.png";
break;
default: //其他任何值时
pic = "./Images/loading.gif";
break;
}
if (type == 0) {
$("<div class=\"datagrid-mask\"></div>").css(
{
display: "block",
width: "100%",
position: "absolute",
left: "0",
top: "0",
opacity: "0.3",
height: "100%",
filter: "alpha(opacity=30)",
background: "#ccc"
}).appendTo("body");
};
$("<div class=\"datagrid-mask-msg\"></div>").css(
{
position: "absolute",
top: "50%",
padding: "12px 5px 10px 30px",
width: "auto",
height: "16px",
border: "1px solid #D1D1D1",
background: "#ffffff url('" + pic + "') no-repeat scroll 5px center",
display: "block",
left: ($(document.body).outerWidth(true) - 190) / 2,
top: ($(window).height() - 45) / 2
}).html(info).appendTo("body");
}; /*
* 屏幕居中隐藏处理进度
* @return
*/
jQuery.mMaskLoadClose = function () {
$(".datagrid-mask").remove();
$(".datagrid-mask-msg").remove();
}; /*
* 控件后创建SPAN作为TIP提示
* @param o 用this
* @param tip 提示文字
* @param typepic 图片 0:load 1:ok 2:error
* @return
*/
jQuery.mTip = function (o, tip, typepic) {
var pic = "";
switch (typepic) {
case 0: // loading
pic = "./Images/loading.gif";
break;
case 1: // ok
pic = "./Images/right.png";
break;
case 2: // error
pic = "./Images/error.png";
break;
default: //其他任何值时
pic = "./Images/loading.gif";
break;
}
var eTip = document.createElement("span");
var objid = $(o).attr("id") + "_tipDiv";
var value = $(o).val();
//绝对路径
var x = $(o).offset().top;
var y = $(o).offset().left;
var w = $(o).width();
var h = $(o).height();
eTip.setAttribute("id", objid);
try {
document.body.appendChild(eTip);
} catch (e) { }
$("#" + objid).hide();
$("#" + objid).css({
top: x,
left: y + w + 10,
height: h,
position: "absolute"
});
$("#" + objid).html("<img src=\"" + pic + "\" style=\"vertical-align:bottom;margin-right:5px;\">" + tip);
$("#" + objid).show();
}; /**
* ajax post提交
* @param url
* @param param
* @param datat 为html,json,text
* @param callback 回调函数 function callBack(data)
* @return
*/
jQuery.mJqAjax = function (url, param, datat, callback) {
$.ajax({
type: "post",
url: url,
data: param,
dataType: datat,
success: callback,
error: function () { }
});
};
/// <reference path="jquery-1.8.3.min.js" />
/*********************************************************************/
/***************************Jquery 扩展****************************/
/*********************************************************************/
jQuery.mIsNull = function (obj) {
if (obj == "" || typeof (obj) == "undefined" || obj == null) {
return true;
}
else {
return false;
}
}; jQuery.mCheckNull = function (id, tipid, nullmess, ctype) {
var str = $.mGetValue(id, ctype);
var tid = ($.mIsNull(tipid)) ? id : tipid;
var obj = ($.mIsNull(tipid)) ? $.mTip : $.mTipCustom;
if ($.mIsNull(str)) {
obj("#" + tid, nullmess, 2);
}
else {
obj("#" + tid, "", 1);
}
}; jQuery.mCheckNullAndReg = function (id, tipid, nullmess, regmess, ctype, rtype) {
var str = $.mGetValue(id, ctype);
var tid = ($.mIsNull(tipid)) ? id : tipid;
var obj = ($.mIsNull(tipid)) ? $.mTip : $.mTipCustom;
if ($.mIsNull(str)) {
obj("#" + tid, nullmess, 2);
}
else {
if ($.mCheck(str, rtype)) {
obj("#" + tid, "", 1);
} else {
obj("#" + tid, regmess, 2);
}
}
}; jQuery.mCheck = function (s, type) {
var objbool = false;
var objexp = "";
switch (type) {
case 'money': //金额格式,格式定义为带小数的正数,小数点后最多三位
objexp = "^[0-9]+[\.][0-9]{0,3}$";
break;
case 'numletter_': //英文字母和数字和下划线组成
objexp = "^[0-9a-zA-Z\_]+$";
break;
case 'numletter': //英文字母和数字组成
objexp = "^[0-9a-zA-Z]+$";
break;
case 'numletterchina': //汉字、字母、数字组成
objexp = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";
break;
case 'email': //邮件地址格式
objexp = "^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$";
break;
case 'tel': //固话格式
objexp = /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/;
break;
case 'mobile': //手机号码
objexp = "^(13[0-9]|15[0-9]|18[0-9])([0-9]{8})$";
break;
case 'decimal': //浮点数
objexp = "^[0-9]+([.][0-9]+)?$";
break;
case 'url': //网址
objexp = "(http://|https://){0,1}[\w\/\.\?\&\=]+";
break;
case 'date': //日期 YYYY-MM-DD格式
objexp = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
break;
case 'int': //整数
objexp = "^[0-9]*[1-9][0-9]*$";
break;
case 'int+': //正整数包含0
objexp = "^\\d+$";
break;
case 'int-': //负整数包含0
objexp = "^((-\\d+)|(0+))$";
break;
case 'china': //中文
objexp = /^[\u0391-\uFFE5]+$/;
break;
}
var re = new RegExp(objexp);
if (re.test(s)) {
return true;
}
else {
return false;
}
}; jQuery.mTip = function (o, tip, typepic) {
var pic = "";
switch (typepic) {
case 0: // loading
pic = "/images/publicNew/loading.gif";
break;
case 1: // ok
pic = "/images/publicNew/right.png";
break;
case 2: // error
pic = "/images/publicNew/error.png";
break;
default: //其他任何值时
pic = "/images/publicNew/onLoad.gif";
break;
}
var eTip = document.createElement("span");
var objid = $(o).attr("id") + "_tipDiv";
var value = $(o).val();
//绝对路径
var x = $(o).offset().top;
var y = $(o).offset().left;
var w = $(o).width();
var h = $(o).height();
eTip.setAttribute("id", objid);
try {
document.body.appendChild(eTip);
} catch (e) { }
$("#" + objid).hide();
$("#" + objid).css({
top: x,
left: y + w + 10,
height: h,
position: "absolute"
});
$("#" + objid).html("<img src=\"" + pic + "\" style=\"vertical-align:bottom;margin-right:5px;\">" + tip);
$("#" + objid).show();
}; jQuery.mTipCustom = function (o, tip, typepic) {
var pic = "";
switch (typepic) {
case 0: // loading
pic = "/images/publicNew/loading.gif";
break;
case 1: // ok
pic = "/images/publicNew/right.png";
break;
case 2: // error
pic = "/images/publicNew/error.png";
break;
default: //其他任何值时
pic = "/images/publicNew/onLoad.gif";
break;
}
$("#" + o).html("<img src=\"" + pic + "\" style=\"vertical-align:bottom;margin-right:5px;\">" + tip);
$("#" + o).show();
}; jQuery.mGetValue = function (controlID, controltype) {
var objValue = "";
switch (controltype) {
case 'text': //文本输入框
objValue = $.trim($("#" + controlID + "").attr("value")); //取值去左右空格
break;
case 'radio': //单选框
objValue = $("input[name='" + controlID + "']:checked").attr("value");
break;
case 'select': //下拉列表
objValue = $("#" + controlID + "").attr("value");
break;
case 'checkbox': //多选框
$("input[name='" + controlID + "']:checked").each(function () {
objValue += $(this).val() + ",";
});
break;
default:
break;
}
return objValue;
}; /**
* ajax post提交
* @param url
* @param param
* @param datat 为html,json,text
* @param callback 回调函数 function callBack(data)
* @return
*/
jQuery.mJqAjax = function (url, param, datat, callback) {
$.ajax({
type: "post",
url: url,
data: param,
dataType: datat,
success: callback,
error: function () { }
});
};

项目常见函数封装,基于Jquery的更多相关文章

  1. 封装通用的 ajax, 基于 jQuery。

    在前端异步获取数据时候每次都是使用 ajax:为了通用性更好,然而封装通用的 ajax 是一个一劳永逸的办法. 本次基于 jQuery 封装实现: 第一步: 引入 jQuery: <script ...

  2. 基于jQuery的ajax对WebApi和OData的封装

    基于jQuery的ajax对WebApi和OData的封装 WebApi 的使用带来了一个显著的特点,对type有一定的要求.一般ajax的type无非就是两种,GET和POST.如果用JSONP来跨 ...

  3. 基于jQuery封装的分页组件

    前言: 由于项目需要实现分页效果,上jQuery插件库找了下,但是木有找到自己想要的效果,于是自己封装了个分页组件. 思路: 主要是初始化时基于原型建立的分页模板然后绑定动态事件并实现刷新DOM的分页 ...

  4. DoNet开源项目-基于jQuery EasyUI的后台管理系统

    博主在业余时间开发了一个简单的后台管理系统,其中用到了 jQuery EasyUI 框架,上次分享过系统布局,参考文章:jQuery EasyUI 后台管理系统布局分享,目前已完成系统的整体框架的搭建 ...

  5. 基于jQuery封装的分页组件(可自定义设置)

    jQuery封装的分页组件 前几天做了一个vue的组件分页,而现在需求是jquery的分页,我就根据我自己的需求写了一个.在网上找了很久的基于jquery的分页封装,可是都不是我想要的结果,那么今天我 ...

  6. 基于JQuery+JSP的无数据库无刷新多人在线聊天室

    JQuery是一款非常强大的javascript插件,本文就针对Ajax前台和JSP后台来实现一个无刷新的多人在线聊天室,该实现的数据全部存储在服务端内存里,没有用到数据库,本文会提供所有源程序,需要 ...

  7. 基于jquery开发的UI框架整理分析

    根据调查得知,现在市场中的UI框架差不多40个左右,不知大家都习惯性的用哪个框架,现在市场中有几款UI框架稍微的成熟一些,也是大家比较喜欢的一种UI框架,那应该是jQuery,有部分UI框架都是根据j ...

  8. 基于jquery的插件开发

    最近在公司做一个项目,由于后台数据太多需要分页显示,在网上找了很多插件都没有找到合适的分页插件,所有的分页插件始终达不到自己想要的效果.由于这个项目也不是很赶,就在网上查找各种资料,自己写一个基于jq ...

  9. 基于jquery类库的绘制二维码的插件jquery.qrcode.js

     jquery.qrcode.min.js 如下 (function(r){r.fn.qrcode=function(h){var s;function u(a){this.mode=s;this.d ...

随机推荐

  1. Web应用程序的开发步骤

    Web应用程序的开发步骤 如今已进入了web2.0高速发展的互联网时代,各种互联网的Web应用程序如雨后春笋般出现.那么作为一名Web开发人员,怎样去开发一款优秀的Web应用程序呢?这个问题没有一个简 ...

  2. 转:Java IO流学习总结

    Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  3. 【Beta阶段】计划安排

    一.新成员介绍 姓名    陈雄 学号    106 角色    前端 个人相片     二.完善功能 登录注册 记分板 排行榜 界面优化 三.新增功能 换肤(可以一试) 联网PK 分享邀请 四.团队 ...

  4. 201521123052《Java程序设计》第10周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 1.finally 题目4-2 1.1 截图你的提交结果(出 ...

  5. 201521123008《Java程序设计》第10周学习总结

    1. 本周学习总结 2. 书面作业 本次PTA作业题集异常.多线程 1.finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 4-2中finally中捕获异常需要注意什么? 只要t ...

  6. node.js的安装及配置

    一.安装 直接在浏览器搜索node.js,在官网上下载(一般旧版的更加稳定,比如下载4.4.7版本) 点击DOWNLOADS 往下翻,点击Previous Release Windows下载msi(6 ...

  7. Excel 若某列包含某个字符则特定列显示特定字符

    今天在写Excel , 有很多重复的数据, 在想 如果 可以像Java  一样 筛选就好了 这样的效果 if ("adj".equals(sheet1.A1)){ sheet1.B ...

  8. [转]iOS 应用程序的生命周期

    OS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的. iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的.在后台时,程序会受到 ...

  9. PuTsangTo-单撸游戏开发01 Flag与计划

    先立下flag,至少1年之内坚持并2年之内完成自己的一个梦想--游戏开发. 没有参加培训也不打算参加培训,就纯靠业余时间自学并用自己的思路完成一整套游戏体系.做出此决心时也已经做好准备烂尾了,但是有种 ...

  10. 杂谈--DML触发器学习

    触发器按类型分为三类: 1. DML 触发器,在数据变更时触发: 2. DDL 触发器,在修改数据库级别或实例级别对象时触发: 3. Login 触发器,在用户登录时触发: 最常见的是DML触发器,D ...