1 获取元素到最外层定位父级的距离, 也就是到body的距离, 放大镜很方便
----------------------------------------------------------------------------------------functionoffset(dom,bool){var t =0, l =0var bdl = dom.clientLeft // 保存当前元素的左边框var bdt = dom.clientTop// 保存当前元素的上边框while(dom){
l += dom.offsetLeft + dom.clientLeft
t += dom.offsetTop + dom.clientTop
// 每次循环完让当前dom元素等于他的定位父级
dom = dom.offsetParent
}if(bool){// 包含自身边框return{left: l, top: t}}else{// 不包含自身边框return{left: l-bdl, top: t-bdt}}}----------------------------------------------------------------------------------------2 生成6位随机验证码 //数字、字母(大小写)----------------------------------------------------------------------------------------functionrandomCode(){var arr =[1,1,1,1,1,1];for(var i in arr){do{var ascii =randomInt(48,122);}while((ascii >57&& ascii <65)||(ascii >90&& ascii <97));
arr[i]= String.fromCharCode(ascii);}return arr.join('');}----------------------------------------------------------------------------------------3 生成区间随机整数
----------------------------------------------------------------------------------------functionrandomInt(min, max){return Math.round(Math.random()*(max - min))+ min;}----------------------------------------------------------------------------------------4 生成随机的十六进制颜色值 #
----------------------------------------------------------------------------------------functionrandomColor(){var str ='0123456789abcdef';var col ='#';for(var i =0; i <6; i++){var index =randomInt(0,15);
col += str[index];}return col;}----------------------------------------------------------------------------------------5 正则相关:----------------------------------------------------------------------------------------1 正则 手机号:var reg =/^(\+861|1)[3-9][4-9]\d{8}$/;2 正则 邮箱:var regEmail =/\w{6,24}@[0-9a-z]{1,10}(\.[a-z]{2,3}){1,2}/;var regEmail =/\w{6,24}@\w+\.\w+/----------------------------------------------------------------------------------------6 获取当前日期格式化
----------------------------------------------------------------------------------------functiongetTimes(){var date =newDate();var year = date.getFullYear();var month = date.getMonth()+1;var dates = date.getDate();var day = date.getDay();var days =["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];var h = date.getHours();var m = date.getMinutes();var s = date.getSeconds();
month = month <10?"0"+ month : month;
dates = dates <10?"0"+ dates : dates;
h = h <10?"0"+ h : h;
m = m <10?"0"+ m : m;
s = s <10?"0"+ s : s;
console.log(year +"年"+ month +"月"+ dates +"日 "+ days[day]+" "+ h +':'+ m +':'+ s);}getTimes();----------------------------------------------------------------------------------------7 倒计时案例:----------------------------------------------------------------------------------------functioncountDown(time){var nowTime =+newDate();//当前时间戳var inputTime =+newDate(time);//指定日期的时间戳var times =(inputTime - nowTime)/1000;//当前时间到指定时间的秒数var d =parseInt(times /60/60/24);//表示剩余的天数
d = d <10?"0"+ d : d;var h =parseInt(times /60/60%24);//总秒数 / 60 (==总分钟数) / 60 (==总小时数) % 24
h = h <10?"0"+ h : h;var m =parseInt(times /60%60);//对应的分钟
m = m <10?"0"+ m : m;var s =parseInt(times %60);//对应的秒
s = s <10?"0"+ s : s;return d +"天"+ h +"时"+ m +"分"+ s +"秒";}----------------------------------------------------------------------------------------