//跨浏览器添加事件
/*
function addEvent(obj, type, fn){if(typeof obj.addEventListener != 'undefined'){obj.addEventListener(type, fn, false);}else if(typeof obj.attachEvent != 'undefined'){obj.attachEvent('on' + type, function(){fn.call(obj,window.event);});}
}
*/
//浏览器监测
(function(){window.sys = {};                                     //外部访问浏览器信息对象;var ua = navigator.userAgent.toLowerCase();            //浏览器信息字符串var s;                                                //浏览器名称加版本
(s = ua.match(/msie ([\d.]+)/)) ? sys.ie = s[1] :(s = ua.match(/firefox\/([\d.]+)/)) ? sys.firefox = s[1] :(s = ua.match(/chrome\/([\d.]+)/)) ? sys.chrome = s[1] :(s = ua.match(/opera\/.*version\/([\d.]+)/)) ? sys.opera = s[1] :(s = ua.match(/version\/([\d.]+).*safari/)) ? sys.safari = s[1] : 0 ;if(/webkit/.test(ua)) sys.webkit = ua.match(/webkit\/([\d.]+)/)[1];//alert(sys.webkit);
})();//dom加载
function addDomLoaded(fn){var isReady = false;var timer = null;function doReady(){if(timer){clearInterval(timer);}if(isReady){return;}isReady = true;fn();}if((sys.opera && sys.opera < 9) || (sys.firefox < 3) || (sys.webkit && sys.webkit < 525)){timer = setInterval(function(){if(document && document.getElementById && document.getElementsByTagName && document.body){doReady();}},1);    }else if(document.addEventListener){addEvent(document, 'DOMContentLoaded', function(){fn();removeEvent(document, 'DOMContentLoaded', arguments.callee);});}else if(sys.ie && sys.ie < 9){var timer = null;timer = setInterval(function(){try{document.documentElement.doScroll('left');doReady();}catch(e){};},1);}
}function addEvent(obj, type, fn){if(typeof obj.addEventListener != 'undefined'){obj.addEventListener(type, fn, false);}else{if(!obj.events)obj.events = {};if(!obj.events[type]){obj.events[type]=[];if(obj['on' + type]) obj.events[type][0] = fn;}else{if(addEvent.equal(obj.events[type], fn)) return false;}obj.events[type][addEvent.ID++] = fn;obj['on' + type] = addEvent.exec;    }
}addEvent.ID = 1;addEvent.exec = function (event) {var e = event || addEvent.fixEvent(window.event);var es = this.events[e.type];for(var i in es){es[i].call(this, e);};
}addEvent.equal = function(es, fn){for(var i in es){if(es[i] == fn)return true}return false;}addEvent.fixEvent = function(event){event.preventDefault = addEvent.fixEvent.preventDefault;event.stopPropagation = addEvent.fixEvent.stopPropagation;event.target = event.srcElement;return event;
}addEvent.fixEvent.preventDefault = function(){this.returnValue = false;
}addEvent.fixEvent.stopPropagation = function(){this.cancelBubble = true;
}//跨浏览器删除事件
/*
function removeEvent(obj, type, fn){if(typeof obj.removeEventListener != 'undefined'){obj.removeEventListener(type, fn, false);}else if(typeof obj.detachEvent != 'undefined'){obj.detachEvent('on'+type, fn);}
}
*/
function removeEvent(obj, type, fn){if(typeof obj.removeEventListener != 'undefined'){obj.removeEventListener(type, fn, false);}else{if(obj.events){for(var i in obj.events[type]){if(obj.events[type][i] == fn){delete obj.events[type][i];}}}}
}//跨浏览器获取视口大小
function getInner(){if(typeof window.innerWidth != 'undefined'){return {width:window.innerWidth,height:window.innerHeight}}else{return {width:document.documentElement.clientWidth,height:document.documentElement.clientHeight}}
}function getScroll(){return {top:document.documentElement.scrollTop || document.body.scrollTop,left:document.documentElement.scrollLeft || document.body.scrollLeft}
}//获取STYLE
function getStyle(element, attr){var value;if(typeof window.getComputedStyle != 'undefined'){value = window.getComputedStyle(element,null)[attr];}else if(typeof element.currentStyle != 'undefined'){value = element.currentStyle[attr];}return value;
}//判断class是否存在
function hasClass(element, className){return element.className.match(new RegExp('(\\s|^)'+className+'(\\s|$)'))
}//添加LINK规则
function insertRule(sheet, selectorText,cssText, postion){if(typeof sheet.insertRule != 'undefined'){sheet.insertRule(selectorText + '{' + cssText + '}', 0);}else if(typeof sheet.addRule != 'undefined'){sheet.addRule(selectorText,cssText, postion);}
}function deleteRule(sheet, index){if(typeof sheet.deleteRule != 'undefined'){sheet.deleteRule(index);}else if(typeof sheet.removeRule !='undefined'){sheet.removeRule(index);}
}function getInnerText(element){return (typeof element.textContent == 'string') ? element.textContent : element.innerText;
}function setInnerText(element, text){if(typeof element.textContent == 'string'){element.textContent = text;}else{element.innerText = text;}
}function offsetTop(element){var top = element.offsetTop;var parent = element.offsetParent;while(parent != null){top += parent.offsetTop;parent = parent.offsetParent;}return top;
}//删除左右空格
function trim(str){return str.replace(/(^\s*)|(\s*$)/g, '');
}function inArray(array, value){for(var i in array){if(array[i] === value){return true;}}return false;
}function predef(e){e.preventDefault();
}function prevIndex(current, parent){var length = parent.children.length;if(current == 0) return length-1;return parseInt(current) - 1;
}function nextIndex(current, parent){var length = parent.children.length;if(current == length - 1) return 0;return parseInt(current) + 1;
}function fixedScroll(){
//setTimeout(function(){    window.scrollTo(fixedScroll.left, fixedScroll.top);
//},100);
}
/*
function scrollTop(){document.documentElement.scrollTop = 0;document.body.scrollTop = 0;
}*///阻止默认行为
function predef(e) {e.preventDefault();
}//创建cookie
function setCookie(name, value, expires, path, domain, secure) {var cookieText = encodeURIComponent(name) + '=' + encodeURIComponent(value);if (expires instanceof Date) {cookieText += '; expires=' + expires;}if (path) {cookieText += '; expires=' + expires;}if (domain) {cookieText += '; domain=' + domain;}if (secure) {cookieText += '; secure';}document.cookie = cookieText;
}//获取cookie
function getCookie(name) {var cookieName = encodeURIComponent(name) + '=';var cookieStart = document.cookie.indexOf(cookieName);var cookieValue = null;if (cookieStart > -1) {var cookieEnd = document.cookie.indexOf(';', cookieStart);if (cookieEnd == -1) {cookieEnd = document.cookie.length;}cookieValue = decodeURIComponent(document.cookie.substring(cookieStart + cookieName.length, cookieEnd));}return cookieValue;
}//删除cookie
function unsetCookie(name) {document.cookie = name + "= ; expires=" + new Date(0);
}

转载于:https://www.cnblogs.com/oceanden/p/4188651.html

javascript常用tool.js相关推荐

  1. 7 种 Javascript 常用设计模式学习笔记

    7 种 Javascript 常用设计模式学习笔记 由于 JS 或者前端的场景限制,并不是 23 种设计模式都常用. 有的是没有使用场景,有的模式使用场景非常少,所以只是列举 7 个常见的模式 本文的 ...

  2. [转]ASP.NET中常用输出JS脚本的类

    using System; using System.Collections.Generic; using System.Text; using System.Web; using System.We ...

  3. JavaScript常用代码

    在这存一下JavaScript常用代码: 1.封装输出 1 var log = function() { 2 console.log.apply(console, arguments) 3 } 4 5 ...

  4. javaScript常用知识点有哪些

    javaScript常用知识点有哪些 一.总结 一句话总结:int = ~~myVar, // to integer | 是二进制或, x|0 永远等于x:^为异或,同0异1,所以 x^0 还是永远等 ...

  5. javascript常用代码大全

    http://caibaojian.com/288.html     原文链接 jquery选中radio//如果之前有选中的,则把选中radio取消掉 $("#tj_cat .pro_ca ...

  6. 107条javascript常用小技巧

    107条javascript常用的方法技巧,呵呵!为什么就是108呢? 1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是: ...

  7. html5判断text文本是数字,JavaScript常用判断写法大全

    js验证表单大全,用JS控制表单提交,具体内容如下所示: 1. 长度限制 function test() { if(document.a.b.value.length>50) { alert(& ...

  8. JavaScript基础和js概括

    js内容概括: Html 结构化 CSS 样式 JavaScript 行为交互 01.JavaScript基础 02.JavaScript操作BOM对象 03.JavaScript操作DOM对象 ** ...

  9. ASP.NET中常用输出JS脚本的类(改进版)

      在ASP.NET中我们经常需要输出一些JS脚本,比如弹出一个警告窗口,返回到历史页面等JS功能,我看到网上流传得比较广的是马先光写的一个JScript类,这个类基本将经常用到的JS脚本包含了,非常 ...

最新文章

  1. javascript-对混合字母/数字数组进行排序
  2. TaggerX——AI数据标注引入乡村振兴工作站解决农村地区青年就业问题【数据故事计划一等奖】...
  3. java.lang.IllegalArgumentException和org.apache.catalina.LifecycleException
  4. 狗蛋(驱动小白)和老王(硬件老司机)关于硬件那点事儿的一次密谈
  5. MYSQL--一条SQL更新语句是如何执行的?
  6. jmeter5.1.1启动提示not able to find java executable or version的解决办法
  7. 除了uni-app可以做app外,flutter更接近原生开发应用
  8. vue联动切换搜索域
  9. AdrenoProfiler对opengles的性能分析
  10. python中delta是什么意思_python – 根据dataframe中的值计算delta
  11. java文件处理(3)——实现文件复制和文件移动
  12. freeswitch被外国IP攻击盗打的防护措施
  13. Google 是这样的工作氛围
  14. pip或者python安装jpype总是报错----Boilerpipe使用
  15. 如何进入mysql命令界面
  16. Mac微信多开以及防撤回方案
  17. 分享大学生关于创新创业的想法,包括外卖私人订制化,网购衣服3D化远程试衣,睡眠耳机开发等等创新创业想法。
  18. 董文永武汉大学计算机学院,董文永
  19. linux命令行大于号、小于号、双大于号、双小于号
  20. 关于企业工业控制系统的网络安全保护设计方案

热门文章

  1. Android 编码规范:(五)避免创建不必要的对象
  2. [C#]结构体和字节数组的相互转化
  3. Server object instance creation failed on all SOC machines
  4. 软件配置管理(CN) Google讨论组
  5. SourceInsight下面一直出现unable to write to temp file for saving operation 这样的提示
  6. 1076. Wifi密码 (15)-PAT乙级真题
  7. 蓝桥杯 AGLO-152 算法训练 8-2求完数
  8. LeetCode 526. Beautiful Arrangement
  9. 1027. 打印沙漏(20)-PAT乙级真题
  10. 蓝桥杯 ADV-148算法提高 排队打水问题(贪心)