原生js--兼容获取窗口滚动条位置和窗口大小的方法
2014-02-12 09:13
609 查看
各个浏览器对获取获取窗口滚动条位置和窗口大小没有提供统一的API,以下是对其封装,解决兼容性问题
/**
* 获取浏览器视口的大小(显示文档的部分)
*
*/
function getViewPortSize(){
// 除IE8及更早的版本以外的浏览器
if( window.innerWidth != null ){
return {
w : window.innerWidth,
h : window.innerHeight
}
}
// 标准模式下的IE
if( document.compatMode == "css1Compat" ){
return {
w : document.documentElement.clientWidth,
h : document.documentElement.clientHeight
}
}
// 怪异模式下的浏览器
return {
w : document.body.clientWidth,
h : document.body.clientHeight
}
}
/**
* 获取窗口滚动条的位置
*/
function getScrollOffset(){
// 除IE8及更早版本
if( window.pageXOffset != null ){
return {
x : window.pageXOffset,
y : window.pageYOffset
}
}
// 标准模式下的IE
if( document.compatMode == "css1Compat" ){
return {
x : document.documentElement.scrollLeft,
y : document.documentElement.scrollTop
}
}
// 怪异模式下的浏览器
return {
x : document.body.scrollLeft,
y : document.body.scrollTop
}
}
/**
* 获取浏览器视口的大小(显示文档的部分)
*
*/
function getViewPortSize(){
// 除IE8及更早的版本以外的浏览器
if( window.innerWidth != null ){
return {
w : window.innerWidth,
h : window.innerHeight
}
}
// 标准模式下的IE
if( document.compatMode == "css1Compat" ){
return {
w : document.documentElement.clientWidth,
h : document.documentElement.clientHeight
}
}
// 怪异模式下的浏览器
return {
w : document.body.clientWidth,
h : document.body.clientHeight
}
}
/**
* 获取窗口滚动条的位置
*/
function getScrollOffset(){
// 除IE8及更早版本
if( window.pageXOffset != null ){
return {
x : window.pageXOffset,
y : window.pageYOffset
}
}
// 标准模式下的IE
if( document.compatMode == "css1Compat" ){
return {
x : document.documentElement.scrollLeft,
y : document.documentElement.scrollTop
}
}
// 怪异模式下的浏览器
return {
x : document.body.scrollLeft,
y : document.body.scrollTop
}
}
相关文章推荐
- 【整理】原生js和jQ获取窗口宽高及滚动条的方法和函数
- 原生JS获取各种高度宽度、浏览器窗口滚动条的位置、元素的几何尺寸名
- JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
- JS获取各种浏览器窗口大小的方法
- JS控制弹出新页面窗口位置和大小的方法
- 用 Javascript 获取页面大小、窗口大小和滚动条位置
- 获取滚动条位置的通用方法--兼容ie6,ie7,firefox2,firefox3,chrome等
- js之获取窗口大小和位置信息
- JS获取网页窗口大小、浏览器窗口大小、页面元素位置
- js获取当前窗口大小带滚动条
- JS获取各种高度宽度、浏览器窗口滚动条的位置、元素的几何尺寸
- 获取滚动条位置的通用方法--兼容ie6,ie7,firefox2,firefox3,chrome等
- 转:用 Javascript 获取页面大小、窗口大小和滚动条位置
- JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
- JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
- JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
- 获取浏览器窗口可视化区域大小的兼容JS解决方案
- jquery获取滚动条高度和位置,JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
- JS与JQUERY获取页面大小、滚动条位置、元素位置
- JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)