javascript 获取滚动条高度+常用js页面宽度与高度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 获取滚动条高度+常用js页面宽度与高度相关的知识,希望对你有一定的参考价值。

/********************
 * 取窗口滚动条高度 
 ******************/
function getScrollTop()
{
    var scrollTop=0;
    if(document.documentElement&&document.documentElement.scrollTop)
    {
        scrollTop=document.documentElement.scrollTop;
    }
    else if(document.body)
    {
        scrollTop=document.body.scrollTop;
    }
    return scrollTop;
}


/********************
 * 取窗口可视范围的高度 
 *******************/
function getClientHeight()
{
    var clientHeight=0;
    if(document.body.clientHeight&&document.documentElement.clientHeight)
    {
        var clientHeight = (document.body.clientHeight<document.documentElement.clientHeight)?document.body.clientHeight:document.documentElement.clientHeight;        
    }
    else
    {
        var clientHeight = (document.body.clientHeight>document.documentElement.clientHeight)?document.body.clientHeight:document.documentElement.clientHeight;    
    }
    return clientHeight;
}

/********************
 * 取文档内容实际高度 
 *******************/
function getScrollHeight()
{
    return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight);
}

 

////////////////////////////////////////////////////

 

在IE中:
document.body.clientWidth ==> BODY对象宽度
document.body.clientHeight ==> BODY对象高度
document.documentElement.clientWidth ==> 可见区域宽度
document.documentElement.clientHeight ==> 可见区域高度
在FireFox中:
document.body.clientWidth ==> BODY对象宽度
document.body.clientHeight ==> BODY对象高度
document.documentElement.clientWidth ==> 可见区域宽度
document.documentElement.clientHeight ==> 可见区域高度
?
在Opera中: 
document.body.clientWidth ==> 可见区域宽度
document.body.clientHeight ==> 可见区域高度
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)
document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)
而如果没有定义W3C的标准,则
IE为:
document.documentElement.clientWidth ==> 0
document.documentElement.clientHeight ==> 0
FireFox为:
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)
Opera为:
document.documentElement.clientWidth ==> 页面对象宽度(即BODY对象宽度加上Margin宽)document.documentElement.clientHeight ==> 页面对象高度(即BODY对象高度加上Margin高)
真是一件麻烦事情,其实就开发来看,宁可少一些对象和方法,不使用最新的标准要方便许多啊。

 

//////////////////////////////////////////////////////////////////////////////////////

 

 

网页可见区域宽:
document.body.clientWidth

网页可见区域高:
document.body.clientHeight 

网页可见区域宽:
document.body.offsetWidth(包括边线的宽) 

网页可见区域高:
document.body.offsetHeight(包括边线的宽) 

网页正文全文宽:
document.body.scrollWidth 

网页正文全文高:
document.body.scrollHeight 

网页被卷去的高:
document.body.scrollTop 

网页被卷去的左:
document.body.scrollLeft 

网页正文部分上:
window.screenTop 

网页正文部分左:
window.screenLeft 

屏幕分辨率的高:
window.screen.height 

屏幕分辨率的宽:
window.screen.width 

屏幕可用工作区高度:
window.screen.availHeight 

屏幕可用工作区宽度:
window.screen.availWidth 

以上是关于javascript 获取滚动条高度+常用js页面宽度与高度的主要内容,如果未能解决你的问题,请参考以下文章

js如何获取滚动条的高度

在js中怎么设置滚动条滚动的距离

jquery ,Javascript 获取滚动条高度和位置, 元素距页头高度

js,jquery 获取滚动条高度和位置, 元素距顶部距离

如何获取bootstrap滚动条的高度

js获取浏览器滚动条距离顶端的距离