常用JavaScript函数封装
来源:互联网 发布:美国物价知乎 编辑:程序博客网 时间:2024/05/20 22:35
trigger():触发被选元素的指定事件类型,例如:jQuery("input#ine").trigger("event"); mouseover():触发或将函数绑定到被选元素的鼠标悬停事件 blur():元素失去焦点时发生 blur 事件 focus():触发或将函数绑定到被选元素的获得焦点事件 change():触发被选元素的 change 事件,该事件会在元素失去焦点时发生
1.随机字符
function randomString(len) { len = len || 32; var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz'; /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/ var maxPos = $chars.length; var pwd = ''; for (i = 0; i < len; i++) { pwd += $chars.charAt(Math.floor(Math.random() * maxPos)); } return pwd; }
使用示例:
randomString(5)
"QmwPa"
var time = new Date(); function AddDays(date,days){ var nd = new Date(date); nd = nd.valueOf(); nd = nd + days * 24 * 60 * 60 * 1000; nd = new Date(nd); //alert(nd.getFullYear() + "年" + (nd.getMonth() + 1) + "月" + nd.getDate() + "日"); var y = nd.getFullYear(); var m = nd.getMonth()+1; var d = nd.getDate(); if(m <= 9) m = "0"+m; if(d <= 9) d = "0"+d; var cdate = y+"-"+m+"-"+d; return cdate; }
使用示例:
AddDays(time,3)
"2016-09-01"
function AddMonth(date, num) { var sDate = new Date(); var arr = date.split('-') if (arr.length == 3) { sDate = new Date(arr[0] + '-' + arr[1] + '-' + arr[2]); } var sYear = sDate.getFullYear(); var sMonth = sDate.getMonth() + 1; var sDay = sDate.getDate(); var eYear = sYear; var eMonth = sMonth + num; var eDay = sDay; while (eMonth > 12) { eYear++; eMonth -= 12; } var eDate = new Date(eYear, eMonth - 1, eDay); while (eDate.getMonth() != eMonth - 1) { eDay--; eDate = new Date(eYear, eMonth - 1, eDay); } var y = eDate.getFullYear(); var m = eDate.getMonth()+1; var d = eDate.getDate(); if(m <= 9) m = "0"+m; if(d <= 9) d = "0"+d; var cdate = y+"-"+m+"-"+d; return cdate; }示例:
AddMonth("2016-08-29",5)
"2017-01-29"
4.日期相加:
/* *--------------- DateAdd(interval,number,date) ----------------- * DateAdd(interval,number,date) * 功能:实现VBScript的DateAdd功能. * 参数:interval,字符串表达式,表示要添加的时间间隔. * 参数:number,数值表达式,表示要添加的时间间隔的个数. * 参数:date,时间对象. * 返回:新的时间对象. *--------------- DateAdd(interval,number,date) ----------------- */ function DateAdd(interval,number,date) { switch(interval) { case "y" : { date.setFullYear(date.getFullYear()+number); var y = date.getFullYear(); var m = date.getMonth()+1; var d = date.getDate(); if(m <= 9) m = "0"+m; if(d <= 9) d = "0"+d; var cdate = y+"-"+m+"-"+d; return cdate; break; } case "m" : { date.setMonth(date.getMonth()+number); var y = date.getFullYear(); var m = date.getMonth()+1; var d = date.getDate(); if(m <= 9) m = "0"+m; if(d <= 9) d = "0"+d; var cdate = y+"-"+m+"-"+d; return cdate; break; } case "d" : { date.setDate(date.getDate()+number); var y = date.getFullYear(); var m = date.getMonth()+1; var d = date.getDate(); if(m <= 9) m = "0"+m; if(d <= 9) d = "0"+d; var cdate = y+"-"+m+"-"+d; return cdate; break; } } }//示例:
当前日期为:2016-08-29
var now = new Date();
DateAdd("m",5,now);
"2017-01-29"
var now = new Date();
DateAdd("y",1,now);
"2017-08-29"
var now = new Date();
DateAdd("d",3,now);
"2016-09-01"
function DateDiff(d1, d2) { var day = 24 * 60 * 60 * 1000; try { var dateArr = d1.split("-"); var checkDate = new Date(); checkDate.setFullYear(dateArr[0], dateArr[1] - 1, dateArr[2]); var checkTime = checkDate.getTime(); var dateArr2 = d2.split("-"); var checkDate2 = new Date(); checkDate2.setFullYear(dateArr2[0], dateArr2[1] - 1, dateArr2[2]); var checkTime2 = checkDate2.getTime(); var cha = (checkTime - checkTime2) / day; return cha; } catch(e) { return false; } }
示例:
DateDiff("2016-08-29","2016-08-27");
2
6.随机数 在某个范围内
function RandomMath (begin,end){ return (Math.floor(Math.random()*(end-begin))+begin); }
示例:
RandomMath(20,30)
23
7.如果有2个或更多元素的文本內容包含:文本、文本輸入框,准确定位到文本function getElementByText(obj,text) { var element; for(var a=0;a<obj.length;a++){ var objtext= obj[a].innerHTML; if(objtext.trim() == text){ element=obj[a]; } } return element; };
示例:
csdn首页中查找“华为云计算”元素
var obj=jQuery("div.submenu a:contains('云计算')");
getElementByText(obj,"华为云计算");
备注:
另外通过filter来查找:jQuery("div.submenu a:contains('云计算')").filter(function(index){ return $(this).text() == '云计算'; }) 如果需要对元素进行click操作需要加下标: jQuery("div.submenu a:contains('云计算')").filter(function(index){ return $(this).text() == '云计算'; })[0].click();8.通过javascript移动滚动条
浏览器顶部:document.body.scrollTop =0; 浏览器底部:document.body.scrollTop = document.body.scrollHeight;9.通过Javascript休眠等待
function sleep(numberMillis) { var now = new Date(); var exitTime = now.getTime() + numberMillis*1000; while (true) { now = new Date(); if (now.getTime() > exitTime) return; } }
参考文献:
http://blog.csdn.NET/sat472291519/article/details/18077005
http://www.jb51.net/article/66132.htm
阅读全文
0 0
- javascript 常用函数封装
- 常用JavaScript函数封装
- 原生Javascript封装的一些常用函数
- Javascript 库,封装了一些常用函数
- JavaScript运动基础,常用函数封装
- 我自己的Javascript 库,封装了一些常用函数
- javaScript封装的常用函数(持续更新中)
- Javascript封装常用方法
- JavaScript基本函数封装
- Javascript函数封装
- javascript 封装函数
- JavaScript 函数封装
- javascript 封装函数
- API常用函数封装
- Selenium常用函数封装
- js常用函数封装
- 常用函数的封装
- 常用函数封装整理
- 14个 Xcode 中常用的快捷键操作
- iOS判断iPhone是否越狱
- [转载] 罗辑思维的「成功」之道
- idea如何将本地项目上传到coding平台管理
- tomcat 日志说明整理
- 常用JavaScript函数封装
- http请求接口公共方法。(restful方式)
- Hadoop基本Shell命令
- 安装geth 搭建以太坊私链
- SpringMVC源码剖析-消息转换器HttpMessageConverter
- 销售订单行状态为实施--解决办法
- 数据库设计中常见表结构的设计技巧
- NHibernate从入门到精通系列(2)——NHibernate环境与结构体系
- Java经典五十道题1-10题