浏览器内核
1 五大主流浏览器 2 1.IE 内核trident 3 2.Chrome webkit/blink 4 3.Safari webkit 5 4.firefox Gecko 6 5.Opera presto
js封装方法
//查看滚动条滚动的距离
function getScrollOffset(){
if(window.pageXOffset){
return{
x:window.pageXOffset,
y:window.pageYOffset
}
}else{
return{
x:document.body.scrollLeft+docuemnt.docmentElement.scrollLeft,
y:document.body.scrollTop+docuemnt.docmentElement.scrollTop,
}
}
}
//查看视口的尺寸
function getViewportOffset(){
if(window.innerWidth){
return{
w:window.innerWidth,
h:windw.innerHeight
}
}else{
if(docuemnt.compatMode=="BackCompat"){
return{
w:document.body.clientWidth,
h:document.body.clientHeight
}
}
}else{
return{
w:document.docuemntElement.clientWidth,
h:document.docuemntElement.clientHeight
}
}
}
//判断是否是数组
function isArray(arr){
return Object.prototype.toString.call(arr)=='[object Array]';
}
//封装兼容性的addEvent(elem,type,haddle);
function addEvent(elem,type,haddle){
if(elem.addEventListener){
elem.addEventListener(type,haddle,false);
}else if(elem.attachEvent){
elem.attachEvent('on'+type,funvtion (){
handle.call(elem);
})
}else{
elem['on'+type]=haddle;
}
}
//封装取消冒泡
function stopBubble(event){
if(event.stopPropagation){
event.stopPropagation();
}else{
event.cancelBublle=true;
}
}
//封装阻止默认事件的函数:cancelHanddler(event)
function cancelHanddler(event){
if(event.preventDefault){
event.preventDefault();
}else{
event.returnValue=false;
}
}
//封装样式
function getStyle(elem,prop){
if(window.getComputedStyle){
return window.getComputedStyle(elem,null)[prop];
}esle{
return elem.currentStyle[prop];
}
}