JS获取屏幕,浏览器,网页高度宽度

 

网页可见区域宽: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 


HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth 
scrollHeight: 获取对象的滚动高度。 
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 
scrollWidth:获取对象的滚动宽度 
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度 
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置 
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置 
event.clientX 相对文档的水平座标 
event.clientY 相对文档的垂直座标 
event.offsetX 相对容器的水平坐标 
event.offsetY 相对容器的垂直坐标 
document.documentElement.scrollTop 垂直方向滚动的值 
event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量 

PS:document.documentElement.scrollTop+document.body.scrollTop(兼容IE、FF、Chrome)

IE,FireFox 差异如下: 

IE6.0、FF1.06+: 

clientWidth = width + padding 

clientHeight = height + padding 

offsetWidth = width + padding + border 

offsetHeight = height + padding + border 

IE5.0/5.5: 
clientWidth = width - border 

clientHeight = height - border 

offsetWidth = width 

offsetHeight = height 

(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关) 

EX1:

CSS:

#bgScreen, #bgIFrame { position: fixed; top: 0; left: 0; z-index: 999; 100%; background: #000; filter: alpha(opacity=20); opacity: 0.2; _position: absolute; _top: expression(documentElement.scrollTop+documentElement.clientHeight-this.offsetHeight ); }

#bgIFrame { z-index: 998; filter: alpha(opacity=0); opacity: 0; }

JS:
$("#bgScreen, #bgIFrame").css("height", jQuery.browser.version == '6.0' ? window.screen.height - 160 : '100%');

EX2:

JS:

var findDimensions = function()

{

    var winWidth = 0;

    var winHeight = 0;

    //获取窗口宽度

    if (window.innerWidth)

    {

        winWidth = window.innerWidth;

    }

    else if ((document.body) && (document.body.clientWidth))

    {

        winWidth = document.body.clientWidth;

    }

    //获取窗口高度

    if (window.innerHeight)

    {

        winHeight = window.innerHeight;

    }

    else if ((document.body) && (document.body.clientHeight))

    {

        winHeight = document.body.clientHeight;

    }

    //通过深入Document内部对body进行检测,获取窗口大小

    if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth)

    {

        winHeight = document.documentElement.clientHeight;

        winWidth = document.documentElement.clientWidth;

    }

    return winWidth + "-" + winHeight;

}

var _height = findDimensions().split("-");

alert(_height[1]);

原文地址:https://www.cnblogs.com/mixzo/p/4213631.html