js 一些实用的封装和兼容
封装id function byId(id){ return typeof(id)==="string"?document.getElementById(id):id; }
封装addEventListener方法 解决兼容 function addHandler(element, type, handler) { if (element.addEventListener) { element.addEventListener(type, handler, true); } else if (element.attachEvent) { element.attachEvent('on' + type, handler); } else { element['on' + type] = handler; } }
event兼容
event=event||window.event;
event.target兼容问题 var tar = event.target || event.srcElement;
/* 获取页面元素的方法 obj 要获取样式的元素 name 要获取的样式名 */ function getStyle(obj,name){ if(window.getComputedStyle){ //正常浏览器的方法,具有该属性 return getComputedStyle(obj,null)[name]; }else { //ie8d的属性方法 return obj.currenStyle[name]; } }
//兼容问题 ie8 不兼容 滚动条 document.documentElement.scrollTop || document.body.scrollTop; document.documentElement.scrollLeft || document.body.scrollLeft;