常用js函数--个人项目总结

chatRecordsListHTML = chatRecordsListHTML.replace(/\<(\S{1,3})\>/g,'<img src="../images/arclist/$1.gif" width="24" height="24" border="0" alt="<$1>"/>');

\S 非空字符串


得到浏览器内核类型以做不同的处理(android 4.4.4 以及 以下浏览器内置浏览器兼容问题)

/**
 * 得到浏览器内核
 */
kernel = '', 
styles = document.getElementsByTagName("head")[0].style, 
toCheck = "transformProperty WebkitTransform OTransform msTransform MozTransform -webkit-transform -moz-transform -o-transform transform".split(" ");
for ( var a = 0; a < toCheck.length; a++){
	if (styles[toCheck[a]] !== undefined){
		kernel = toCheck[a];
	}
}

js得到链接中的参数:

/* 
 * 废弃该函数
 * 改成直接用js调用android提供的接口
 * desc:得到客户端传过来的参数
 */
function getParameter(param) {
	var query = window.location.search;// 获取URL地址中?后的所有字符
	var iLen = param.length;// 获取你的参数名称长度
	var iStart = query.indexOf(param);// 获取你该参数名称的其实索引
	if (iStart == -1)// -1为没有该参数
		return "";
	iStart += iLen + 1;
	var iEnd = query.indexOf("&", iStart);// 获取第二个参数的其实索引
	if (iEnd == -1)// 只有一个参数
		return query.substring(iStart);// 获取单个参数的参数值
	return query.substring(iStart, iEnd);// 获取第二个参数的值
}


按钮变背景图jquery代码:

$("#login").mouseover(function(){
	$(this).attr("src","images/index_login1.jpg");
}).mouseout(function(){
	$(this).attr("src","images/index_login.jpg");
});


日期处理:将时间戳转成yyyy-MM-dd HH:mm:ss的格式

/**
 *将时间戳转化成格式化的时间格式 
 * timestamp:1469085472490
 * 1469085609000
 */
var timestampToFormatDate = function(timestamp){
	var date = new Date();
	date.setTime(timestamp);
	var year = date.getFullYear(); 
	var month = date.getMonth() + 1;
	var day = date.getDate();
	var hour = date.getHours();
	var minute = date.getMinutes();
	var second = date.getSeconds();
	return year + '-' + supplementZero(month,2) + '-' + supplementZero(day,2) + ' ' + 
		supplementZero(hour,2) + ':' + supplementZero(minute,2) + ':' + supplementZero(second,2);
};


/**
 * 补0的参数
 * @param obj 要操作的数
 * @param num 目标位数
 */
var supplementZero = function(obj, num){
	if(obj == null || obj==undefined){
		return "";
	}
	if(num == null || num=="" || num==undefined){
		num = 2;    //默认两位
 	}
	//前面补充的0
	var zeroStr = "";
	
	if(obj.toString().length < num){
		var gap = num - obj.toString().length;
		for(var i = 0; i<gap; i ++){
			zeroStr += "0";
		}
	}
	if(zeroStr != ""){
		return zeroStr + obj;
	}else{
		return obj;
	}
};

日期处理:设置一天中的零时刻

/**
 * 得到0时刻
 * @param items 要显示日期的id号
 * @param addDays 添加天数
 */
function getBeginningDays(items,addDays) {
	var today = new Date();
	today.setHours(0);
	today.setMinutes(0);
	today.setSeconds(0);
	today.setMilliseconds(0);
	var dateStr = today.format("yyyy-MM-dd HH:mm:ss");   //默认为今天的0时刻
	if(addDays!=null && addDays!=''){
		today.setTime(today.getTime() + 24 * 60 * 60 * 1000 * addDays);  
		dateStr = today.format("yyyy-MM-dd HH:mm:ss");
	}
	$("#" + items,navTab.getCurrentPanel()).val(dateStr);
}


获取一个月的头一天和最后一天:

/**
 * 得到一个月的头一天
 * @param items 要显示日期的id号
 */
function getMonthBeginDay(items) {
	var today = new Date();
	today.setDate(1);
	today.setHours(0);
	today.setMinutes(0);
	today.setSeconds(0);
	today.setMilliseconds(0);
	var dateStr = today.format("yyyy-MM-dd HH:mm:ss");
	$("#" + items,navTab.getCurrentPanel()).val(dateStr);
}


/**
 * 得到一个月的最后一天
 * @param items 要显示日期的id号
 */
function getMonthEndDay(items) {
	var today = new Date();
	today.setMonth(today.getMonth()+1);
	today.setDate(0);
	today.setHours(0);
	today.setMinutes(0);
	today.setSeconds(0);
	today.setMilliseconds(0);
	var dateStr = today.format("yyyy-MM-dd HH:mm:ss");
	$("#" + items,navTab.getCurrentPanel()).val(dateStr);
}

使用:

<input type="text" name="end" id="end"
	class="date textInput readonly valid" readonly="readonly" datefmt="yyyy-MM-dd HH:mm:ss"
	style="float: left;vertical-align: middle;margin: 5px 0px;"> 
<a class="inputDateButton" href="javascript:;"  style="margin: 5px 0px;">选择</a>
<script type="text/javascript">
	getMonthEndDay("end");
</script>


日期加1天处理:(要把日期字符串yyyy-MM-dd转换成yyyy/MM/dd才可以初始化)

var chartDateStr = chartDate.replace("-",'/');
var chartEndDate = new Date(chartDateStr);
chartEndDate.setTime(chartEndDate.getTime() + 24 * 60 * 60 * 1000);
chartEndDateStr = chartEndDate.format("yyyy-MM-dd");


向数据中添加元素:

//发送消息成功,添加到消息框
chatRecordsList=new Array(2);
chatRecordsList.push(message);
chatRecordsList.push(yourMessage);

//for循环拼凑后面的id号chatUser10334  chatUser10923

id = id.replace("chatUser",'')+"-";


jquery trim()函数的用法:
recordList = $.trim(recordList);

var #msgType = $("#msgType option:selected").val();
if(#msgType == null || #msgType== ""){
	alertMsg.info("请选择消息类型");
	return;
}


//遍历数据向数组对象添加数据
var sendMsgData = [];
if(array!=null && array.length > 0){
	var i = 0;
	for(i = 0; i < array.length; i=i+1 ) {
		var sendMsg = array[i].sendMsg;
		sendMsgData.push(sendMsg);
	}
}

json列表中删除元素

success : function(data) {
	if (data.success) {
		var topList = data.topList;   //数据列表
		if(topList!=undefined && topList!=null && topList!=""){
			if(topList.length>0){
				var num = $(".rankBox").children(":last-child").children().length;   //最后一行元素个数
				if(num==1){
					//上面一行缺一个元素,模板是一行2个元素
					var bean = topList.shift();// 删除第一个元素,并返回这个元素
					//var beanLast = topList.pop();  //删除最后一个元素,并返回这个元素
					var date = bean.date;
					var time = bean.time;
					var name = bean.name;
					var photo = bean.photo;
					var userId = bean.userId;
					//拼凑html
					var beanHtml = "";
					beanHtml +='<div class="rankItem">';
					//...
					$(".rankBox").children(":last-child").append(beanHtml);   //补充上一行缺失的元素
				}
			}
		}
	}
}

//underscore.js模板
<script id="payStatListTemplate" type="text/template">
<%	_.each(payStatList, function(payStat,index){
		if(index%2==0){%>
			<tr>
		<%}else{%>
			<tr style="background: #efefef;">
		<%}%>
			<td><%=index%></td>
			<td><%=payStat.statDate.split(" ")[0]%></td>
			<td><%=payStat.platform%></td>
			<td><%=payStat.version%></td>
			<td style="background: #ccc"><%=(payStat.totalAmount/payStat.userCount).toFixed(1)%></td>
			<td style="background: #ccc"><%=(payStat.totalAmount/payStat.tradeCount).toFixed(1)%></td>
		</tr>
<%	});%>
</script>

//payStat.statDate字段为yyyy-MM-dd HH:mm:ss的字符串,这里只取日期
<%=payStat.statDate.split(" ")[0]%>
//(payStat.totalAmount/payStat.userCount)是一个平均值,toFixed(1)表示所有的都保留一位小数
<%=(payStat.totalAmount/payStat.userCount).toFixed(1)%>

json列表中删除元素:

success : function(data) {
	if (data.success) {
		var topList = data.topList;   //数据列表
		if(topList!=undefined && topList!=null && topList!=""){
			if(topList.length>0){
				var num = $(".rankBox").children(":last-child").children().length;   //最后一行元素个数
				if(num==1){
					//上面一行缺一个元素,模板是一行2个元素
					var bean = topList.shift();// 删除第一个元素,并返回这个元素
					//var beanLast = topList.pop();  //删除最后一个元素,并返回这个元素
					var date = bean.date;
					var time = bean.time;
					var name = bean.name;
					var photo = bean.photo;
					var userId = bean.userId;
					//拼凑html
					var beanHtml = "";
					beanHtml +='<div class="rankItem">';
					//...
					$(".rankBox").children(":last-child").append(beanHtml);   //补充上一行缺失的元素
				}
			}
		}
	}
}


//字符串操作
selectedCharater.substring(0,selectedCharater.length-1)



/**
 * 查询出数据填充select
 * @param selector select表单id号
 * @param list 要显示的集合List<Bean>
 * @param value bean的属性 对应option的value
 * @param text bean的属性 对应option的文本
 */
function updateSelect(selector,list,value,text){
	$.each(list,function(index,item){
		var $option=$("<option></option>")
            .val(item[value])
            .text(item[text]);
		$option.appendTo($("#"+selector,navTab.getCurrentPanel()));
	});
	//在最前面加上提示语句
	var $option=$("<option></option>").val('').text("-----请选择-----");
	$option.prependTo($("#"+selector,navTab.getCurrentPanel()));
}

//调用
updateSelect("marriageEdit",maritalStatusList,"itemId","itemValue");


//ajax调用

$.ajax({
	type: "POST",
	url : 'select2DayInspectList.do',
	data : {
		"oneDate" : oneDate,
		"twoDate" : twoDate,
		"type" : "order"
	},
	secureuri : false,
	dataType : 'json',
	success : function(data, status) {
		
	},
	error : function(data, status, e) {
		
	}
});



//缓冲图片
<input type="file"  accept="image/jpeg" name="newPhoto" value="" id="newPhoto">
<img id="loading" src="../images/loading.gif" style="display:none; width: 17px;">


$("#loading",navTab.getCurrentPanel()).ajaxStart(function() {
	$(this).show();
}).ajaxComplete(function() {
	$(this).hide();
});

 


var newHeadPhoto = $("#newPhoto",navTab.getCurrentPanel()).val();
if (newHeadPhoto != null && newHeadPhoto != '') {
	if (newHeadPhoto.toLowerCase().indexOf('.jpg') < 0) {
		alertMsg.error("请上传JPG文件");
		return;
	};
}


//select 默认选中当前日期

<select id="year" name="year">
	<option value="2012" >2012</option>
	<option value="2013" >2013</option>
	<option value="2014" >2014</option>
	<option value="2015" >2015</option>
	<option value="2016" >2016</option>
	<option value="2017" >2017</option>
	<option value="2018" >2018</option>
	<option value="2019" >2019</option>
	<option value="2020" >2020</option>
</select>

<select id="month" name="month">
	<option value="1">1月份</option>
	<option value="2">2月份</option>
	<option value="3">3月份</option>
	<option value="4">4月份</option>
	<option value="5">5月份</option>
	<option value="6">6月份</option>
	<option value="7">7月份</option>
	<option value="8">8月份</option>
	<option value="9">9月份</option>
	<option value="10">10月份</option>
	<option value="11">11月份</option>
	<option value="12">12月份</option>
</select>

<script type="text/javascript">
	getThisYear("year");
	getThisMonth("month");
</script>

JS文件:

function getThisYear(items) {
	var date = new Date();
	var year=date.getFullYear();
	$("#" + items + ' option',navTab.getCurrentPanel()).each(function(){
		var value = $(this).val();
		if(value == year){
			$(this).attr("selected","selected");
		}
	});
}

function getThisMonth(items) {
	var date = new Date();
	var month=date.getMonth() + 1;  //0~11 所以要加1个月
	$("#" + items + ' option',navTab.getCurrentPanel()).each(function(){
		var value = $(this).val();
		if(value == month){
			$(this).attr("selected","selected");
		}
	});
}

控制输入框的数字:

$("#commcontent",navTab.getCurrentPanel()).keydown(function() {
	var max = 140;
	var value = $(this).val();
	if (value.length > max) {
		$(this).val(value.substring(0, max));
		$("#s_count",navTab.getCurrentPanel()).html("140/140");
	} else {
		$("#s_count",navTab.getCurrentPanel()).html(value.length + "/140");
	}
}).keyup(function() {
	var max = 140;
	var value = $(this).val();
	if (value.length > max) {
		$(this).val(value.substring(0, max));
		$("#s_count",navTab.getCurrentPanel()).html("140/140");
	} else {
		$("#s_count",navTab.getCurrentPanel()).html(value.length + "/140");
	}
});



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值