************************************************************************
//ie中如果全部不给定值则会都为零(宽和高在设置一个的情况则会正常获取值),ff中则返回撑开区域的大小
元素所占区域的大小,包含padding不含border(有滚动条时会去除滚动条,可视区域的大小) 滚动条为17px
此属性作用于行内元素时获取的都为0, 但当设置为 inline-block时,如果都ff/ie则可以根据内容自动获取宽高

clientWidth
clientHeight

在有size的限制下时:实际区域的大小(当有滚动条的时候,有滚动条时会去除滚动条),包含padding
当没有size的限制时,ie则会把边框也加上
scrollWidth
scrollHeight

当在限制了元素的size的情况下,且没有混动条时上面这两个元素值是相等的

//无论是否设置宽高都会返回正常的值,只是浏览器默认差异不同而不同
offsetwidth 一个对象在页面中实际所占区域的大小 宽高+边框+padding+滚动条
offsetwidth

以上属性都是针对行内元素说的,且都会包含padding ,可以用 offsetHeight-clientHeight 求边框的值

************************************************************************
alert(document.documentElement.clientHeight);
alert(document.documentElement.scrollHeight);
alert(document.documentElement.offsetHeight);

document.documentElement.clientHeigh + document.documentElement.scrollTop = document.documentElement.scrollHeight

在火狐和ie小表现效果个不一样

alert(Fid('song').clientWidth);
alert(Fid('song').clientHeight);

alert(Fid('song').scrollWidth);
alert(Fid('song').scrollHeight);

alert(Fid('song').offsetWidth);
alert(Fid('song').offsetHeight);
但如果当到一个具体元素上则没有任何问题 所以在获取页面可视区域大小(浏览器的)时最好用 document.documentElement

只能获取左边框和上边框
clientleft
clienttop

************************************************************************
元素坐标获取(针对非static属性的元素)

最好都设置left,top值,如果不设置当前面有其他元素时会影响他的left,top值, 会包含margin值

offsetleft:
offsettop:

offsetParent 是离调用它的元素最近的已经定位了的元素,如果元素本身未定位,则其offsetParent是离它最近的文档根元素或者表格单元(table cell)。

offsetparent 获取相的父元素 但在IE下offset对象是对当前元素到上一级元素的距离,FF则是正常的

scrollleft 即隐藏区域的左半部分
scrolltop

************************************************************************\
事件位置相关

clientX
clientY 是相对于视口中的位置(都支持)

ie,opera 的offsetX, offsetY 都不算边框,但是ff(layerX, layerY)算边框 最好不要用此属性,存在兼容性问题
offsetX(ie) layerX(ff)
offsetY layerY 是相对于被点击的元素

//相对于页面的坐标
pageX = clientX + document.documentElement.scrollLeft;
pageY = clientY + document.documentElement.scrollTop;

javascript 获取页面尺寸/位置的更多相关文章

  1. javascript 获取页面的高度及滚动条的位置的代码

    http://www.jb51.net/article/23331.htm javascript 获取页面的高度及滚动条的位置的代码 作者: 字体:[增加 减小] 类型:转载   javascript ...

  2. 用javaScript获取页面元素值

    用JavaScript获取页面元素常见的三种方法:                                                           getElementById() ...

  3. 用JavaScript获取页面上被选中的文字的技巧

    这里介绍的一个小技巧是如何用JavaScript获取页面上被选中的文字的方法.最关键的JavaScript API是: event.selection = window.getSelection(); ...

  4. JavaScript获取页面元素的常用方法

    1.通过标签获取元素,返回一个数组 var li = document.getElementsByTagName('li');//标签获取元素 li[0].innerHTML;// 查看获取元素的内容 ...

  5. 用 Javascript 获取页面大小、窗口大小和滚动条位置

    页面大小.窗口大小和滚动条位置这三个数值在不同的浏览器例如 Firefox 和 IE 中有着不同的实现.即使在同一种浏览器例如 IE 中,不同版本也有不同的实现. 本文给出两个能兼容目前所有浏览器的 ...

  6. 利用JavaScript获取页面文档内容

    JavaScript的document对象包含了页面的实际内容,所以利用document对象可以获取页面内容,例如页面标题.各个表单值. <!DOCTYPE html> <html ...

  7. javascript获取页面文档内容

    <html> <head> <title>JavaScript基础</title> </head> <body> <p&g ...

  8. Javascript 获取页面高度(多种浏览器)

    //2015年8月13日11:00:50 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: d ...

  9. 用Javascript获取页面元素的位置

    制作网页的过程中,你有时候需要知道某个元素在网页上的确切位置. 下面的教程总结了Javascript在网页定位方面的相关知识. 一.网页的大小和浏览器窗口的大小 首先,要明确两个基本概念. 一张网页的 ...

随机推荐

  1. 3524: [Poi2014]Couriers -- 主席树

    3524: [Poi2014]Couriers Time Limit: 20 Sec  Memory Limit: 256 MB Description 给一个长度为n的序列a.1≤a[i]≤n.m组 ...

  2. unix-软件安装

    检查软件是否已经安装 rpm -qa|grep 软件标识名 在线安装软件 yum -y install 软件标识名

  3. DTCC:MySQl核心代码开发经验揭示

    http://tech.it168.com/a2012/0413/1337/000001337236.shtml

  4. 《实战突击:PHP项目开发案例整合(第2版)(含DVD光盘1张)》

    <实战突击:PHP项目开发案例整合(第2版)(含DVD光盘1张)> 基本信息 作者: 徐康明    辛洪郁 出版社:电子工业出版社 ISBN:9787121221378 上架时间:2014 ...

  5. 分享一个基于 Node.js 的 Web 开发框架 - Nokitjs

    简介 Nokit 是一个简单易用的基于 Nodejs 的 Web 开发框架,默认提供了 MVC / NSP / RESTful 等支持,并提供对应项目模板.管理工具. 资源 GitHub https: ...

  6. BigDecimal 执行精确小数计算

    来考虑这样一种情况,先来看代码: public class Test { public static void main(String[] args) { System.out.println(0.4 ...

  7. PowerDesigner教程系列(三)概念数据模型

    目标: 本文主要介绍属性的标准检查约束.如何定义属性的附加检查. 一.定义属性的标准检查约束 标准检查约束是一组确保属性有效的表达式.在实体属性的特性窗口,打开如图所示的检查选项卡. 在这个选项卡可以 ...

  8. go语言基础之break和continue的区别

    1.break和continue的区别 在循环里面有两个关键操作break和continue,break操作是跳出当前循环,continue是跳过本次循环. 2.break 备注:break可⽤于fo ...

  9. Openwrt WIFI探针开发【一】

    2017.9.26 公开源码(Apache2.0协议) https://github.com/769484623/WiFiProbe ————————————————————————————————— ...

  10. 在CMD下如何搜索某个名字的文件?

    命令如下: dir FileYouWantToFind.txt /a /s   效果如图:   偷看Kun总操作学来的 ^_^