原生Javascript封装的一些常用函数
2016-03-11 22:54
816 查看
/** * 得到ajax对象 */ function getajaxHttp() { var xmlHttp; try { // Firefox, Opera 8.0+, Safari xmlHttp = new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { alert("您的浏览器不支持AJAX!"); return false; } } } return xmlHttp; } /** * 发送ajaxGet请求 * @param url */ function ajaxGet(url){ var xmlHttp = getajaxHttp(); xmlHttp.open("GET",url); xmlHttp.send(null); xmlHttp.onreadystatechange = function() { if ((xmlHttp.readyState == 4) && (xmlHttp.status == 200)) { alert('success'); } else { alert('fail'); } } } /** * 发送ajaxPost请求 * @param url * @param data */ function ajaxPost(url,data){ var xmlHttp = getajaxHttp(); xmlHttp.open("POST",url); xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); xmlHttp.send(data); xmlHttp.onreadystatechange = function() { if ((xmlHttp.readyState == 4) && (xmlHttp.status == 200)) { alert('success'); } else { alert('fail'); } } } /** * * @param {Object} el HTML Element * @param {Object} type 事件类型 * @param {Object} fn 事件handler */ function addEvent(el, type, fn){ if(el.addEventListener){ el.addEventListener(type, fn, false); }else{ el['e' + fn] = function(){ fn.call(el, window.event); }; el.attachEvent('on'+type, el['e'+fn]); } } /** * 删除事件 * @param el * @param type * @param fn */ function removeEvent(el, type, fn){ if(el.removeEventListener){ el.removeEventListener(type, fn, false); }else if(el.detachEvent){ el.detachEvent('on' + type, el['e'+fn]); } } /** * 根据id获取元素 * @param el * @returns {Element} */ function getEl(el){ return document.getElementById(el); } /** * 判断是否为对象类型 * @param obj * @returns {boolean} */ RegExp.isObject = function (obj) { return (typeof obj == 'object') && obj.constructor == Object; }; /** * 验证一个字符串时候是email * @param str * @returns {boolean} */ RegExp.isEmail = function (str) { var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)*\.[\w-]+$/i; return emailReg.test(str); }; /** * 验证一个字符串是否是URL * @param str * @returns {Array|{index: number, input: string}} */ RegExp.isUrl = function (str) { var patrn = /^http(s)?:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\:+!]*([^<>])*$/; return patrn.exec(str); }; /** * 转换时间戳 * @param nS * @returns {string} */ function getLocalTime(nS) { return new Date(parseInt(nS) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " "); } /** * 将文件大小转成合适的刻度 * @param nS * @returns {string} */ function fomateFileSize(nS) { if (nS < 1024) { return (nS / 1).toFixed(1) + " B"; } else if (nS < Math.pow(1024, 2) && nS > 1024) { return (nS / Math.pow(1024, 1)).toFixed(1) + " KB"; } else if (nS < Math.pow(1024, 3) && nS > 1024 ^ 2) { return (nS / Math.pow(1024, 2)).toFixed(1) + " MB"; } else if (nS < Math.pow(1024, 4) && nS > 1024 ^ 3) { return (nS / Math.pow(1024, 3)).toFixed(1) + " GB"; } else if (nS < Math.pow(1024, 5) && nS > 1024 ^ 4) { return (nS / Math.pow(1024, 4)).toFixed(1) + " TB"; } }
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解
- call/apply/bind 的理解与实例分享