Javascript获取获取屏幕、浏览器窗口 ,浏览器,网页高度、宽度的大小

屏幕可用工作区宽度:window.screen.availHeight,和浏览器无关,屏幕相关
屏幕可用工作区高度:window.screen.availWidth,和浏览器无关,屏幕相关
网页可见区域宽:document.body.clientWidth ,html中body可视区域的宽clientWidth = width+padding,不包括滚动条,缩放后跟着变
网页可见区域高:document.body.clientHeight ,html中body可视区域的高clientHeight = height+padding,不包括滚动条,缩放的时候跟着变
网页可见区域宽:document.body.offsetWidth ,html中body的宽(包括边线的宽offsetWidth = width + border + padding或者offsetWidth=clientWidth+border) 
网页可见区域高:document.body.offsetHeight ,html中body的高(包括边线的宽offsetHeight  = width + border + padding或者offsetHeight=clientHeight+border)
网页正文全文宽:document.body.scrollWidth ,html中body的实际宽度,即对象的宽度加上可滚动宽度
网页正文全文高:document.body.scrollHeight,html中body的实际高度,即对象的高度加上可滚动高度
网页被卷去的高:document.body.scrollTop, html中body向下滚动过的距离
网页被卷去的左:document.body.scrollLeft ,html中body向右滚动过的距离
网页正文部分上:window.screenTop ,浏览器窗口的左上角在屏幕上的x坐标,只读属性
网页正文部分左:window.screenLeft ,浏览器窗口的左上角在屏幕上的y坐标,只读属性
屏幕分辨率的高:window.screen.height,屏幕的高,浏览器无关,屏幕相关
屏幕分辨率的宽:window.screen.width,屏幕的宽,浏览器无关,屏幕相关

HTML精确定位:scrollLeft,scrollWidth,clientWidth,offsetWidth
scrollHeight:表示元素的总高度,包括由于溢出而无法展示在网页的不可见部分
scrollWidth:表示元素的总宽度,包括由于溢出而无法展示在网页的不可见部分
注:(1).没有滚动条时,scrollHeight与clientHeight属性结果相等,scrollWidth与clientWidth属性结果相等
       (2).存在滚动条时,但元素设置宽高大于等于元素内容宽高时,scroll和client属性的结果相等
       (3).存在滚动条,但元素设置宽高小于元素内容宽高,即存在内容溢出的情况时,scroll属性大于client属性
scrollLeft:表示被隐藏在内容区域左侧的像素数。元素未滚动时,scrollLeft的值为0,如果元素被水平滚动了,scrollLeft的值大于0,且表示元素左侧不可见内容的像素宽度
scrollTop:表示被隐藏在内容区域上方的像素数。元素未滚动时,scrollTop的值为0,如果元素被垂直滚动了,scrollTop的值大于0,且表示元素上方不可见内容的像素高度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置
offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置
event.clientX:相对文档的水平座标
event.clientY:相对文档的垂直座标
event.offsetX:相对容器的水平坐标
event.offsetY:相对容器的垂直坐标
document.documentElement.scrollTop:垂直方向滚动的值
event.clientX+document.documentElement.scrollTop:相对文档的水平座标+垂直方向滚动的量

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均无关)

div.style.top:相对于div所在的元件的顶部距离

要得到窗口的尺寸,对于不同的浏览器,需要使用不同的属性和方法:若要检测窗口的真实尺寸,在Netscape下需要使用Window的属性;在 IE下需要深入Document内部对body进行检测;在DOM环境下,若要得到窗口的尺寸,需要注意根元素的尺寸,而不是元素。

Window对象的innerWidth属性包含当前窗口的内部宽度。Window对象的innerHeight属性包含当前窗口的内部高度。

Document对象的body属性对应HTML文档的标签。Document对象的documentElement属性则表示HTML文档的根节点。

document.body.clientHeight表示HTML文档所在窗口的当前高度。document.body. clientWidth表示HTML文档所在窗口的当前宽度。

浏览器大小调整事件
window.onresize=funName;//当浏览器大小发生变化时调用funName函数

getBoundingClientRect()这个方法返回一个矩形对象,包含四个属性:left、top、right和bottom。分别表示元素各边与页面上边和左边的距离。
var box=document.getElementById('box'); // 获取元素
alert(box.getBoundingClientRect().top); // 元素上边距离页面上边的距离
alert(box.getBoundingClientRect().right); // 元素右边距离页面左边的距离
alert(box.getBoundingClientRect().bottom); // 元素下边距离页面上边的距离
alert(box.getBoundingClientRect().left); // 元素左边距离页面左边的距离
注意:IE、Firefox3+、Opera9.5、Chrome、Safari支持,在IE中,默认坐标从(2,2)开始计算,导致最终距离比其他浏览器多出两个像素,我们需要做个兼容。
document.documentElement.clientTop; // 非IE为0,IE为2
document.documentElement.clientLeft; // 非IE为0,IE为2
functiongGetRect (element) {
  var rect = element.getBoundingClientRect();
  var top = document.documentElement.clientTop;
  var left= document.documentElement.clientLeft;
  return{
    top : rect.top - top,
    bottom : rect.bottom - top,
    left : rect.left - left,
    right : rect.right - left
  }
}
分别加上外边据、内边距、边框和滚动条,用于测试所有浏览器是否一致。

javascript中获取元素尺寸的更多相关文章

  1. javascript中获取屏幕尺寸

    Javascript获取获取屏幕.浏览器窗口 ,浏览器,网页高度.宽度的大小 屏幕的有效宽:window.screen.availHeight屏幕的有效高:window.screen.availWid ...

  2. javascript中获取元素节点的文本

    <div id="test"> <strong>i'm strong</strong> </div> 1.elementNode.i ...

  3. javascript中获取dom元素的高度和宽度

    javascript中获取dom元素高度和宽度的方法如下: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网 ...

  4. javascript中获取dom元素高度和宽度

    javascript中获取dom元素高度和宽度的方法如下: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网 ...

  5. js | javascript中获取dom元素的高度和宽度

    javascript中获取dom元素高度和宽度的方法如下: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网 ...

  6. JavaScript中获取html元素常用手法和区分

    对于许多前端开发项目来说,获取元素进行操作是必不可少的,例如tab标签,全屏切换,自动滚播等效果都需要通过获取节点元素来实现.下面我来总结下JavaScript最常用的4个Document对象中获取元 ...

  7. JavaScript中获取HTML元素的方式

    JavaScript中获取HTML元素的方式 1.使用id方式获取元素,返回一个具体对象   document.getElementById(id名) 2.使用className方式获取元素,返回类数 ...

  8. JS中获取元素属性的逆天大法

    给大家聊下js中获取元素属性的逆天大法,胆小慎入,切记切记!!! innerHTML.outerHTML.innerText .outerText.value.text().html(),val() ...

  9. javascript中获取非行间样式的方法

    我们都知道一般在javascript中获取样式一般用的是nodeObj.style.attr这个属性的,但是这个属性只能获取行间样式非行间样式比如写在样式表中的样式那么用nodeObj.style.a ...

随机推荐

  1. Percona 数据库

    1. Percona介绍 Percona Server由领先的MySQL咨询公司Percona发布. Percona Server是一款独立的数据库产品,其可以完全与MySQL兼容,可以在不更改代码的 ...

  2. google 身份验证器

    谷歌身份验证器原理 就是服务器与客户端算法相同

  3. php持续推送信息到客户端的方法

    <?php set_time_limit(0); $i=1; while($i++) { echo $i,'<br />'; ob_flush();//冲刷出(送出)输出缓冲区中的内 ...

  4. phpstorm配置Xdebug进行调试

    运行环境: PHPSTORM版本 : 8.0.1 PHP版本 : 5.6.2 xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll ps : php版本和xdeb ...

  5. JavaWeb学习 (六)————Servlet(二)

    一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些 ...

  6. Sphinx coreseek 3.2

    功能 中文的拆词索引 MySQL中like模糊查询.   >1>5>%可以用索引 配置 用编辑器打开 path 配置 改绝对路径 https://blog.csdn.net/u013 ...

  7. Eclipse SVN 冲突的 介绍 及 四种解决方式

    https://blog.csdn.net/diyu122222/article/details/79879376

  8. C# .aspx 页面更换命名空间

    1.选中命名空间,右键单击,选择重构,之后选择重命名.如下图: 2.弹出重命名对话框 3.重写你需要的名字,点击确定. 4.这里重点注意了,不可直接点击应用,否则你会后悔的.你必须对应的看看那个是否是 ...

  9. 利用反射调用注解,模仿Spring

    简介 在开发中,我们经常用的就是利用@RequestMapping来调用我们自己的逻辑,现在我们来创建属于自己的注解模仿一下它. 1.新建属于自己的注解@SeayaMapping @Target({E ...

  10. LoadRunner接口测试标准模板

    Action() { int nHttpRetCode; // 默认最大长度为256,get请求需注意缓存问题,需要根据content-length进行修改 web_set_max_html_para ...