/*解决ie8中js数组没有indexOf方法*/

jQuery.extend({
exportResport : function(url, method, params){
var paramControl = '<form action="'+url+'" method="'+(method||'post')+'">' ;
$.each(params,function(name,value){
paramControl += '<input type="text" name="'+name+'" value="'+value+'"/>';
});
paramControl += '</form>';
jQuery(paramControl).appendTo('body').submit().remove();
},//下载文件,主要用于导出报表
getJSONNoCache: function (url,type, data,dataType,traditional, callback,failCallback) {
$.ajax({
url: url,
type:type ||"GET",
dataType: dataType||'json',
data: data,
cache: false,
traditional:traditional, //发送数组时该属性设为ture,否则服务端接收不到
success: callback,
error:failCallback
});
}, //一般ajax请求,不用设置contentType
getJSONAsync: function (url,type, data,dataType,traditional, callback,failCallback) {
$.ajax({
url: url,
type:type ||"GET",
async: false,
dataType: dataType||'json',
data: data,
cache: false,
traditional:traditional, //发送数组时该属性设为ture,否则服务端接收不到
success: callback,
error:failCallback
});
}, //发送同步ajax请求
getWithContentType: function (url,type, data,contentType,dataType,traditional, callback,failCallback) {
$.ajax({
url: url,
type:type ||"GET",
dataType: dataType||'json',
contentType:contentType,
data: data,
cache: false,
traditional:traditional, //发送数组时该属性设为ture,否则服务端接收不到
success: callback,
error:failCallback
}); //需要设置contentType,且一般为application/json
},
getWithTimeOut: function (url,type, data,dataType,timeout, callback,failCallback) {
$.ajax({
url: url,
type:type ||"GET",
dataType: dataType||'json',
data: data,
cache: false,
timeout:timeout,
success: callback,
error:failCallback
}); // 带有timeout超时控制的ajax请求
},
/// totalCount:总记录数 ; current_page:当前索引 (从0开始); items_per_page:每页显示多少条;callback:回调函数
pagination:function(totalCount,current_page,items_per_page,callback){
$("#pagination").pagination(totalCount, {
num_edge_entries: 3, //边缘页数
num_display_entries: 4, //主体页数
current_page:current_page,
items_per_page:items_per_page, //每页显示10项
prev_text: "<<",
next_text: ">>",
callback:callback }); } ,//分页
isValid:function(valControl){
var inputVal=$.trim(valControl.value);
if($(valControl).is(".txt-required") && inputVal=="" )
{
return false;
}
if($(valControl).is(".num"))
{
if(!window.formValidate.matchNum(inputVal))
{
return false;
}
}
if($(valControl).is('.floatNum'))
{
if(window.formValidate.matchNum(inputVal))
{
return true;
}
if(!window.formValidate.matchFloat(inputVal))
{
return false;
}
}
if($(valControl).is(".txtEmail")) //邮箱输入框
{
if(!window.formValidate.matchEmail(inputVal))
{
return false;
}
}
if($(valControl).is(".txtTel")) //联系电话输入框
{
if(!window.formValidate.matchTel(inputVal))
{
return false;
}
}
if($(valControl).is(".txtPhone")) //联系电话输入框
{
if(!window.formValidate.matchPhone(inputVal))
{
return false;
}
}
if($(valControl).is(".txtQQ")) //qq输入框
{
if(!window.formValidate.matchQQ(inputVal))
{
return false;
}
}
if($(valControl).is(".txtPostCode")) //邮政编码输入框
{
if(!window.formValidate.matchPostCode(inputVal))
{
return false;
}
}
if($(valControl).is(".txCheckColumn")) //用户名输入框
{
if(!window.formValidate.matchCheckColumn(inputVal))
{
return false;
}
} return true;
} //表单元素验证
});
var formValidate={
emailReg:/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/, //邮箱
postCodeRegex: /^[0-9][0-9]{5}$/, //邮政编码
qqRegex: /^[1-9]*[1-9][0-9]*$/, //qq
telRegex: /^[\\(\\)-.0-9\u0020\u3000]*$/, //电话号码
phoneRegex: /^[0-9]{11}$/, //手机号
telAndPhoneRegex:/^((0\d{2,3}-\d{7,8})|(1[34578]\d{9}))$/, //手机或固话
numRegex:/^\d*$/, //正整数
floatNumRegex:/^\d+\.\d+$/, //正小数
userNameRegex:/^[\u4E00-\u9FA5A-Za-z0-9_]+$/, //中文、英文、数字包括下划线
isEmpty:function(val)
{
return val=="" || val==null || $.trim(val)=="";
}, //是否为空
matchEmail:function(val)
{
return this.emailReg.test(val);
}, //是否符合邮箱格式
isEqual:function(val1, val2)
{
return val1==val2;
}, //两个值是否相等
matchQQ:function(val)
{
return this.qqRegex.test(val);
} , //是否符合qq格式
matchTel:function(val)
{
return this.telAndPhoneRegex.test(val);
} , //是否符合电话号码格式
matchPhone:function(val)
{
return this.telAndPhoneRegex.test(val);
} , //是否符合手机号格式
matchPostCode:function(val)
{
return this.postCodeRegex.test(val);
}, //是否符合邮政编码格式
matchCheckColumn:function(val)
{
return this.userNameRegex.test(val);
}, //是否符合用户名格式
matchNum:function(val)
{
return this.numRegex.test(val);
} , //验证数字
matchFloat:function(val)
{
return this.numRegex.test(val)==true || this.floatNumRegex.test(val)==true;
} , //验证浮点数
matchFileName:function(val)
{
return /^\./.test(val)==false && /[/\:*?"<>|]/g.test(val)==false
} //匹配文件名 }; //form验证
//日期比较
function dateCompare(startdate,enddate)
{
var arr=startdate.split("-");
var starttime=new Date(arr[0],arr[1],arr[2]);
var starttimes=starttime.getTime(); var arrs=enddate.split("-");
var lktime=new Date(arrs[0],arrs[1],arrs[2]);
var lktimes=lktime.getTime(); if(starttimes>lktimes)
{
return false;
}
else
return true; }
/* 获取某月天数*/
function getMonthDays(myMonth){
var now=new Date();
var nowYear=now.getYear();
var monthStartDate = new Date(nowYear, myMonth, 1);
var monthEndDate = new Date(nowYear, myMonth + 1, 1);
var days = (monthEndDate - monthStartDate)/(1000 * 60 * 60 * 24);
return days;
}
/*获得本天 */
function getToday() {
return formatDate(new Date());
}
//获得本周的开端日期 (周一)
function getWeekStartDate() {
var now=new Date();
var nowYear=now.getFullYear();
var nowMonth = now.getMonth(); //当前月
var nowDay = now.getDate(); //当前日
var nowDayOfWeek = now.getDay(); //今天本周的第几天
var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek+1);
return formatDate(weekStartDate);
}
//获得本周的停止日期 (周日)
function getWeekEndDate() {
var now=new Date();
var nowYear=now.getFullYear();
var nowMonth = now.getMonth(); //当前月
var nowDay = now.getDate(); //当前日
var nowDayOfWeek = now.getDay(); //今天本周的第几天
var weekEndDate = new Date(nowYear, nowMonth, nowDay + (7 - nowDayOfWeek));
return formatDate(weekEndDate);
}
//获得本月的开端日期
function getMonthStartDate(){
var now=new Date();
var nowYear=now.getFullYear();
var nowMonth = now.getMonth(); //当前月
var monthStartDate = new Date(nowYear, nowMonth,1);
return formatDate(monthStartDate);
}
//获得本月的停止日期
function getMonthEndDate(){
var now=new Date();
var nowYear=now.getFullYear();
var nowMonth = now.getMonth(); //当前月
var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));
return formatDate(monthEndDate);
}
//获得本季度的开端日期
function getSeasonStartDate()
{
var now=new Date();
var nowYear=now.getFullYear();
return formatDate(new Date(nowYear,getQuarterStartMonth(now.getMonth()),1));
}
//获得本季度的停止日期
function getSeasonEndDate()
{
var now=new Date();
var nowYear=now.getFullYear();
var month=getQuarterStartMonth(now.getMonth())+2;
return formatDate(new Date(nowYear,month,getMonthDays(month)));
}
function getQuarterStartMonth(nowMonth)
{
var quarterStartMonth = 0;
if(nowMonth<3){
quarterStartMonth = 0;
}
if(2<nowMonth && nowMonth<6){
quarterStartMonth = 3;
}
if(5<nowMonth && nowMonth<9){
quarterStartMonth = 6;
}
if(nowMonth>8){
quarterStartMonth = 9;
}
return quarterStartMonth;
}
//获得本年的开端日期
function getYearStartDate()
{
var now=new Date();
var nowYear=now.getFullYear();
return formatDate(new Date(nowYear,0,1));
}
//获得本年的停止日期
function getYearEndDate()
{
var now=new Date();
var nowYear=now.getFullYear();
return formatDate(new Date(nowYear,11,31));
}
//获得前n天的日期
function getBeforeDate(n){
var n = n;
var d = new Date();
var year = d.getFullYear();
var mon=d.getMonth()+1;
var day=d.getDate();
if(day <= n){
if(mon>1) {
mon=mon-1;
}
else {
year = year-1;
mon = 12;
}
}
d.setDate(d.getDate()-n);
year = d.getFullYear();
mon=d.getMonth()+1;
day=d.getDate();
s = year+"-"+(mon<10?('0'+mon):mon)+"-"+(day<10?('0'+day):day);
return s;
}
/*格式化日期 yyyy-MM-dd */
function formatDate(date)
{
return date.getFullYear()+'-'+(date.getMonth()+1)+'-'+date.getDate();
}
/*返回昨天日期 yyyy-MM-dd */
function formatYesterday()
{
var now=new Date();
now.setTime(now.getTime()-1000* 60 * 60 * 24);
return now.getFullYear()+'-'+(now.getMonth()+1)+'-'+now.getDate();
} /*返回日期差 yyyy-MM-dd */
function calculateDays(fromStr,toStr,isWorkDay){
var from = new Date();
var to = new Date();
var fromTime = Date.parse(fromStr.replace(/\-/g,"/"));
var toTime = Date.parse(toStr.replace(/\-/g,"/")); from.setTime(fromTime);
from.setHours(0);
from.setMinutes(0);
from.setSeconds(0); to.setTime(toTime);
to.setHours(0);
to.setMinutes(0);
to.setSeconds(0);
if(from.getTime() > to.getTime()){
return 0;
} // 把起始日都修正到星期六 javascript的星期从0开始,所以+1来处理
var sDayofWeek = from.getDay()+1;
var workdays=0; // 修正到星期六之后,再修正多出来的非假日
if(sDayofWeek > 1 && sDayofWeek < 7)
{
from.setDate(from.getDate()-(sDayofWeek%7));
workdays-=((sDayofWeek-2)>0)?sDayofWeek-2:0;
} // 计算两个日期之间的天数
var totalDays = (to.getTime()-from.getTime())/(1000*60*60*24)+1;
if(!isWorkDay){
return totalDays;
}
workdays+=Math.floor(totalDays/7)*5; // 修正最后剩余天数
if((totalDays%7-2)>0){
workdays+=(totalDays%7-2);
}
return workdays
} /* 显示弹出框中的错误信息 */
function setCookie(name,value,expires)
{
document.cookie=name+'='+value+';expires='+expires;
}
function showErrorMsg(container,msg)
{
var scroller=container.parent(), error,firstBtn;
if(scroller.is('.slimScrollDiv'))
{
error=scroller.next().find('#sp-error');
firstBtn=scroller.next().children('.ui-dialog-buttonset').children('button:first');
}
else
{
error=container.next().find('#sp-error');
firstBtn=container.next().children('.ui-dialog-buttonset').children('button:first');
}
if(error.length==0)
{
firstBtn.before("<span id='sp-error' class='sp-error'>"+msg+"</span>");
}
else
{
error.text(msg);
}
}
/* 公共的信息提示框*/
var commonInfoDialog=function(){
return {
infoDialog:null,
init:function(options){
var defaultOptions={
closeHandler:null,
okHandler:null
};
$.extend(defaultOptions,options);
this.infoDialog=$('#common-info-dialog');
if(this.infoDialog.length==0)
{
this.infoDialog=$('<div id="common-info-dialog"></div>');
}
this.infoDialog.dialog({
autoOpen:false,
title:'提示',
dialogClass:'ui-dialog-blue ui-dialog-boxshadow',
modal:true,
resizable:false,
close:function(){
$(this).dialog('destroy');
if(defaultOptions.closeHandler)
{
defaultOptions.closeHandler();
}
},
buttons:[{
'class':'btn blue',
'id':'commonInfo',
'text':'确定',
'click':function(){
$(this).dialog('close');
if(defaultOptions.okHandler)
{
defaultOptions.okHandler();
}
} }]
});
return this.infoDialog;
},
show:function(){
this.infoDialog.dialog('open');
}
};
}();
/* 公共的信息确认框*/
var commonConfirmDialog=function(){
return {
infoDialog:null,
init:function(options){
var defaultOptions={
closeHandler:null,
okHandler:null,
cancelHandler:null
};
$.extend(defaultOptions,options);
this.infoDialog=$('#common-info-dialog');
if(this.infoDialog.length==0)
{
this.infoDialog=$('<div id="common-info-dialog"></div>');
}
this.infoDialog.dialog({
autoOpen:false,
title:'确认',
dialogClass:'ui-dialog-blue ui-dialog-boxshadow',
resizable:false,
modal:true,
close:function(){
$(this).dialog('destroy');
if(defaultOptions.closeHandler)
{
defaultOptions.closeHandler();
}
},
buttons:[{
'class':'btn blue',
'text':'确定',
'click':function(){
$(this).dialog('close');
if(defaultOptions.okHandler)
{
defaultOptions.okHandler();
}
} },{
'class':'btn',
'text':'取消',
'click':function(){
$(this).dialog('close');
if(defaultOptions.cancelHandler)
{
defaultOptions.cancelHandler();
}
} }]
});
return this.infoDialog;
},
show:function(){
this.infoDialog.dialog('open');
}
};
}();
var App=function(){
return {
//收缩、展开
handlePortletTools:function () {
jQuery('body').on('click', '.portlet .tools .collapse, .portlet .tools .expand', function (e) {
e.preventDefault();
var el = jQuery(this).closest(".portlet").children(".portlet-body");
if (jQuery(this).hasClass("collapse")) {
jQuery(this).removeClass("collapse").addClass("expand");
el.slideUp(200);
} else {
jQuery(this).removeClass("expand").addClass("collapse");
el.slideDown(200);
}
});
},
// wrapper function to block element(indicate loading)
blockUI: function (el, centerY) {
var el = jQuery(el);
el.block({
message: '<img src="../resources/images/loading.gif" align="">',
centerY: centerY != undefined ? centerY : true,
css: {
top: '10%',
border: 'none',
padding: '2px',
backgroundColor: 'none'
},
overlayCSS: {
backgroundColor: '#000',
opacity: 0.05,
cursor: 'wait'
}
});
},
blockUINoMsg:function (el, centerY) {
var el = jQuery(el);
el.block({
message: '',
centerY: centerY != undefined ? centerY : true,
css: {
top: '10%',
border: 'none',
padding: '2px',
backgroundColor: 'none'
},
overlayCSS: {
backgroundColor: '#000',
opacity: 0.05,
cursor: 'normal'
}
});
}, // wrapper function to un-block element(finish loading)
unblockUI: function (el) {
jQuery(el).unblock({
onUnblock: function () {
jQuery(el).removeAttr("style");
}
});
}
};
}(); //为IE8增加数组的indexOf方法
if (!Array.prototype.indexOf)
{
Array.prototype.indexOf = function(elt /*, from*/)
{
var len = this.length >>> 0;
var from = Number(arguments[1]) || 0;
from = (from < 0)
? Math.ceil(from)
: Math.floor(from);
if (from < 0)
from += len;
for (; from < len; from++)
{
if (from in this &&
this[from] === elt)
return from;
}
return -1;
};
} //替换URL参数中可能会出现的特殊字符
var replaceSpeciChaInReq=function(key){
var replacedArr=[
['%','%25'],
['\\+','%2B'],
[' ','%20'],
['/','%2F'],
['\\?','%3F'],
['#','%23'],
['&','%26'],
['=','%3D'],
['<','&lt;'],
['>','&gt;']
],reg='';
for(var i=0;i<replacedArr.length;i++){
reg=new RegExp(replacedArr[i][0],"g");
key=key.replace(reg,replacedArr[i][1]);
}
return key;
} //替换json参数中可能会出现的特殊字符 只处理尖括号防止script脚本
var replaceJsonChaInReq=function(key){
var replacedArr=[
['<','&lt;'],
['>','&gt;']
],reg='';
for(var i=0;i<replacedArr.length;i++){
reg=new RegExp(replacedArr[i][0],"g");
key=key.replace(reg,replacedArr[i][1]);
}
return key;
} //获取Cookie
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(arr=document.cookie.match(reg))
return unescape(arr[2]);
else
return null;
} //部门员工选择的工具
$.fn.orgUserChooser=function(){
var dom=this;
//添加人员 checkboxes:待添加的; choosen:已被添加的; unChosenOrgId:待添加的授权人机构Id; isCheckedAll:是否全选
var addAuthorizer=function(checkboxes,choosen,unChosenOrgId, isCheckedAll){ var chosenArea=dom.find(".chosenAuthorizers");
var chooseArea=dom.find(".orgUserchooseArea");
var str='',
userTemp=chosenArea.find('li').eq(0).get(0).outerHTML,//用户被选中的HTML模板
classifyTemp=chosenArea.find('li').eq(1).get(0).outerHTML,//机构被选中的HTML模板
unChosenUserId,//
isChoosen=false;//
if(isCheckedAll){//如果是全选的话加入部门
var depart=chooseArea.find(".customDropdown.department .dropdown-menu span[data-orgid="+unChosenOrgId+"]");
str +=classifyTemp.replace(/{classifyId}/,unChosenOrgId).replace(/hide/,'').replace(/{classifyName}/,$.trim(depart.html())+'全部用户');
if(choosen.length>0){
for(var j=0,k=choosen.length-1;j<=k;j++)
{
if(($(choosen[j]).data('type')=="user"&&$(choosen[j]).data('orgid')==unChosenOrgId)||($(choosen[j]).data('type')=="classify"&&$(choosen[j]).data('classifyid')==unChosenOrgId))
{
$(choosen[j]).remove();
}
}
}
}else{
for(var i=0, l=checkboxes.length;i<l;i++)
{
unChosenUserId=$(checkboxes[i]).data('userid');
isChoosen=false;
if(choosen.length>0)
{
for(var j=0,k=choosen.length-1;j<=k;j++)
{
if($(choosen[j]).data('type')=="user"&&$(choosen[j]).data('userid')==unChosenUserId)
{
isChoosen=true;
break;
}
}
if(!isChoosen) //未被选中时
{
str+=userTemp.replace(/{orgId}/,unChosenOrgId).replace(/{userId}/,unChosenUserId).replace(/hide/,'').replace(/{userName}/,$.trim($(checkboxes[i]).parents('label').text()));
}
}
else
{
str+=userTemp.replace(/{orgId}/,unChosenOrgId).replace(/{userId}/,unChosenUserId).replace(/hide/,'').replace(/{userName}/,$.trim($(checkboxes[i]).parents('label').text()));
} }
}
chosenArea.children('ul').append(str);
}; //添加授权人员 //删除授权人员 checkboxes:待删除的; choosen:已被添加的; unChosenOrgId:已被添加的
var removeAuthorizer=function(checkboxes,choosen, unChosenOrgId,otherCheckbox){ var chosenArea=dom.find(".chosenAuthorizers");
var chooseArea=dom.find(".orgUserchooseArea");
var unChosenUserId;
var haveToRemove=true;
for(var i=choosen.length-1;i>=0;i--)
{
if($(choosen[i]).data('type')=="classify" && $(choosen[i]).data('classifyid')==unChosenOrgId)
{ //查看是否有classifyid为unChosenOrgId的部门 有就去掉 加入所有otherCheckbox里边选中的
haveToRemove=false;
$(choosen[i]).remove();
var str='',userTemp=chosenArea.find('li').eq(0).get(0).outerHTML;
for (var j = 0; j < otherCheckbox.length; j++) {
var curCheck=$(otherCheckbox[j]).find(":checkbox");
if(curCheck.is(':checked')){
chosenArea.children('ul').append(userTemp.replace(/{orgId}/,unChosenOrgId).replace(/{userId}/,curCheck.data('userid')).replace(/hide/,'').replace(/{userName}/,$.trim(curCheck.parents('label').text())));
}
}
break;
}
}
if(haveToRemove){
for(var i=checkboxes.length-1;i>=0;i--)
{
unChosenUserId=$(checkboxes[i]).data('userid');
for(var j=choosen.length-1;j>=0;j--)
{
if($(choosen[j]).data('userid')==unChosenUserId)
{
$(choosen[j]).remove();
break;
}
} }
}
}; //删除授权人员 checkboxes:待删除的; choosen:已被添加的;
var init=function(){ //点击选择按钮,将选择控件打开
dom.on('click','#chooseCateHref',function(e){
dom.find(".orgUserchooseArea").toggle();
e.stopPropagation ?e.stopPropagation():(e.cancelBubble=true);
}); //点击顶部自定义下拉框区域的下拉按钮显示选择区域
dom.on('click','.dropdown-top',function(e){
var customDropdown=$(this).parent();
customDropdown.toggleClass('active');
customDropdown.is('.department.active') && (customDropdown.next().addClass('active'));
e.stopPropagation ?e.stopPropagation():(e.cancelBubble=true);
}); //点击部门下拉框的区域,显示其用户
dom.on('click','.department>.dropdown-menu span',function(e){
$(this).parents('.dropdown-menu').find('span').removeClass('curr');
$(this).addClass('curr').parents('.department').children('.dropdown-top').children('.sp-txt').text($(this).text());
$('.people').addClass('active');
var orgId=$(this).data('orgid');
$('.people>.dropdown-menu>ul').filter('[data-orgid='+orgId+']').removeClass('hide').siblings().addClass('hide');
e.stopPropagation ?e.stopPropagation():(e.cancelBubble=true);
}); //点击人选选择复选框
dom.on('change','.people :checkbox',function(){
var chosenArea=dom.find(".chosenAuthorizers");
var chosen=chosenArea.find('li').not('.hide'),unChosenOrgId=$(this).parents('ul').data('orgid'),checkboxes=$(this);
$(this).is('.checkAll') && (checkboxes=$(this).parents('ul').find('.checkboxes').prop('checked',$(this).prop('checked')).uniform());
var checkAll=$($(this).closest('li').siblings()[0]).find(':checkbox');
var otherCheckbox=$(this).closest('li').siblings().not(':first');
if($(this).is(':checked')) //添加
{
!checkAll.is(':checked')&& !$(this).is('.checkAll') && otherCheckbox.find(':checkbox').length==otherCheckbox.find(':checked').length && (checkAll.prop('checked',true).uniform());
addAuthorizer(checkboxes,chosen,unChosenOrgId,checkAll.is(':checked')); }
else //移除
{ checkAll.is(':checked')&& !$(this).is('.checkAll') && checkAll.removeAttr('checked').uniform();
removeAuthorizer(checkboxes,chosen,unChosenOrgId,otherCheckbox);
}
}); //部门-人员级联 //点击已选的删除按钮
dom.on('click','.chosenAuthorizers .choice-close',function(e){
var userId=$(this).parent().data('userid');
if(userId){//删除的是一个用户
$('.people :checked').each(function(){
if($(this).data('userid')==userId)
{
$($(this).removeAttr('checked').uniform().parents('.fl').children()[0]).find('input').removeAttr('checked').uniform();
return;
}
});
}else{//删除的是一个部门的所有用户
var classifyid=$(this).parent().data('classifyid');
$('.people ul').each(function(){
if($(this).data('orgid')==classifyid)
{
$(this).find(":checked").removeAttr('checked').uniform();
return;
}
}); }
$(this).parent().remove();
e.stopPropagation ?e.stopPropagation():(e.cancelBubble=true);
});
$(document).bind('click',function(e){
var e = e || window.event; //浏览器兼容性
var elem = e.target || e.srcElement;
while (elem) { //循环判断至跟节点,防止点击的是div子元素
if ($(elem).is('.customDropdown') || $(elem).is('.chosenAuthorizers')) {
return;
}
elem = elem.parentNode;
}
dom.find('.choose').hide().children().removeClass('active');
});
}();
}

自己使用的jquery公用common.js的更多相关文章

  1. angularjs 1 开发简单案例(包含common.js,service.js,controller.js,page)

    common.js var app = angular.module('app', ['ngFileUpload']) .factory('SV_Common', function ($http) { ...

  2. 解决echsop兼容jquery(transport.js的冲突)的问题

    方案一: 本人亲测过,可以用.有的人说需要删除js目录下的gobal.js文件,否则依然会冲突.我没删除也解决了冲突. 1.加入JSON2.js文件 原因很简单,transport修改Object是为 ...

  3. JSP公用COMMON文件

    head.jsp: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" ...

  4. jquery.nicescroll.min.js滚动条插件的用法

    1.jquery.nicescroll.min.js源码 /* jquery.nicescroll 3.6.8 InuYaksa*2015 MIT http://nicescroll.areaaper ...

  5. JQuery plugin ---- simplePagination.js API

    CSS Themes "light-theme" "dark-theme" "compact-theme" How To Use Step ...

  6. 封装自己的Common.js工具库

    Code/** * Created by LT on 2013/6/16. * Common.js * 对原生JS对象的扩展 * Object.Array.String.Date.Ajax.Cooki ...

  7. vue.common.js?e881:433 TypeError: Cannot read property 'nodeName' of undefined

    我觉得吧,是这么个原因,就是响应式要找这个node改它的内容,没找着,就报错了. 用computed监控vuex的state属性,绑定到页面上,如果这个属性改了,因为响应式,那么就要更改页面,如果页面 ...

  8. 改写jquery.validate.unobtrusive.js实现气泡提示mvc错误

    个人对于这个js.css不是很擅长,所以这个气泡提醒的样式网上找了下,用了这个http://www.cnblogs.com/wifi/articles/2918950.html当中的第一种写法. 对于 ...

  9. jQuery与其他JS库共存

    * 事件 * jQuery与其他JS库共存 * 调用jQuery.noConflict()方法 * 表示jQuery将"$"符号的使用权交出 * 通过两种方式将"$&qu ...

随机推荐

  1. GuavaCache简介(一)是轻量级的框架 少量数据,并且 过期时间相同 可以用 GuavaCache

    还有一篇文章是讲解redis 如何删除过期数据的,参考:Redis的内存回收策略和内存上限(阿里) 划重点:在GuavaCache中,并不存在任何线程!它实现机制是在写操作时顺带做少量的维护工作(如清 ...

  2. 【技术博客】 利用Postman和Jmeter进行接口性能测试

    利用Postman和Jmeter进行接口性能测试 作者:ZBW 版本:v1.1 在Phylab的开发过程中,对于生成报告接口的性能考量十分重要.原有的Latex接口虽然生成的报告美观,但编译Latex ...

  3. Java的string类为什么是不可变的

    最流行的Java面试题之一就是:什么是不可变对象(immutable object),不可变对象有什么好处,在什么情况下应该用,或者更具体一些,Java的String类为什么要设成immutable类 ...

  4. poi导出word表格

    代码如下: package com.ksource.pwlp.util; import java.io.FileOutputStream; import java.math.BigInteger; i ...

  5. Druid: A Real-time Analytical Data Store

    Druid一种实时数仓,针对的场景和目的,如下比较明确 Druid was originally designed to solve problems around ingesting and exp ...

  6. 【C++】C++中的动态内存解析

    目录结构: contents structure [-] 动态内存和智能指针 使用shared_ptr管理内存 使用new直接管理内存 shared_ptr和new结合使用 unique_ptr we ...

  7. Java基础 awt Frame 窗体的大小不可调

        JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code ...

  8. linux tomcat 文件切割

    修改bin目录下catalina.sh if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT="$CATALINA_BASE&quo ...

  9. 荔枝派nano例子

    买回来,先短接flash芯片的14脚,然后上电,再断开14脚,开始怎么折腾都不行,最后发现是android线的问题,换成jlink ob送的android线就能找到设备了,真崩溃 lsusb,应该能看 ...

  10. 关于在windows平台下将应用制作成windows服务及服务依赖的感想

    在某些情况下,应用需要部署在windows平台下,单纯的手动点击exe执行文件或java -jar xxx.jar在实际生产环境中不是最佳实践(制作成bat启动文件置于启动项里,服务器启动后,需要人工 ...