查看滚动条的距离
- window.pageXOffset/pageYOffset
ie8及ie8以下不兼容 - document.body/document.Element.scrollLeft/scrollTop
兼容性比较混乱,用时取两个值相加,因为不可能存在两个同时有值
var x = window.pageXOffset;
var y = window.pageYOffset;
console.log("pageXOffset:" + x,"pageYOffset:" +y);
封装兼容性方法,求滚动轮滚动离
/**
* 获取滚动条兼容方法
*/
function getScroll() {
if (window.pageXOffset) { //IE9以下不兼容
return {
x: window.pageXOffset,
y: window.pageYOffset
}
} else {
return {
x: document.body.scrollLeft + document.documentElement.scrollLeft,
y: document.body.scrollTop + document.documentElement.scrollTop
}
}
}
查看视口的尺寸
- window.innerWidth/inner.Height
IE及IE8以下不兼容 - document.documentElement.clientWidth/clientHeight
标准模式下,任意浏览器都兼容 - document.body.clientWidth/clientHeight
适用于怪异模式下的浏览器
封装兼容性方法,返回浏览器市口尺寸:
/**
* 查看视口尺寸兼容方法
*/
function getView() {
if (window.innerWidth) { //IE9以下不兼容
return {
w: window.innerWidth,
h: window.innerHeight
}
} else {
if (document.compatMode == "BackCompat") { //怪异模式
return {
w: document.body.clientWidth,
h: document.body.clientHeight
}
} else if (document.compatMode == "CSS1Compat") { //标准模式下任何浏览器都兼容
return {
w: document.documentElement.clientWidth,
h: document.documentElement.clientHeight
}
}
}
}
查看元素的几何尺寸
- domEle.getBoundingClientRect();
兼容性很好 - 该方法返回一个对象,对象里面有left,top,right,bottom等属性。left和top代表该元素左上角的X和Y坐标,right和bottom代表元素右下角的坐标
- 返回的结果并不是实时的