谷歌火狐,IE8以及其他浏览器获取页面滚动出去的距离以及封装

获取页面滚动出去的距离
谷歌火狐 window pageXoffset pageYoffset
console.log(window.pageXoffset,windoe.pageYoffset);
IE8 html scrollLeft scrollTop
console.log(document.documentElement.scrollLeft,document.documentElement.scrollTop);
其他浏览器 body
console.log(document.body.scrollLeft,document.body.scrollTop);
*/
console.log(getPageScroll().scrollLeft,getPageScroll().scrollTop);
}
获取页面滚动出去距离的封装
function getPageScroll(){
逻辑与的短路运算的运算规则:找真
如果这几种情况都不满足,那么就返回undefined,但有的浏览器不支持undefined
var left = window.PageXoffset || document.documentElement.scrollLeft || document.body.scrollLeft || getPageScroll().scrollLeft;
var top = window.PageYoffset || document.documentElement.scrollTop || document.body.scrollTop || getPageScroll().scrollTop;
//返回函数值
return{
scrollLeft:left;
scrollTop:top;
}

if(window.PageXoffset){
说明是谷歌火狐
return window.PageXoffset;
}else if( document.documentElement.scrollLeft ){
//IE8
return document.documentElement.scrollLeft;
}else{
其他浏览器
return document.body.scrollLeft;
}

原文地址:https://www.cnblogs.com/zycs/p/12656008.html