************************************************************************
//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. 如何在SpringBoot当中上传多个图片或者上传单个图片 工具类

    如何在SpringBoot当中上传多个图片[上传多个图片 ] 附赠工具类 1.SpringBoot 上传图片工具类 public class SpringUploadUtil { /*** * 上传图 ...

  2. 对Java Serializable(序列化)的理解和总结(一)

    导读:最近在做项目的过程中,发现一个问题,就是我们最开始的时候,传递参数包括返回类型,都有map类型.但是由于map每次都要匹配key值,很麻烦.所以在之后就将参数传递和返回类型全都改成了实体bean ...

  3. php上传中文文件文件名乱码问题

    php上传文件是最最基础的一个技术点,但是深入进去也有不少问题需要解决,这不,上传中文文件后,文件名变成了乱码. 下面是问题代码,很简单: 1.问题代码 html部分: <html> &l ...

  4. [转]android 自定义圆形imageview控件

      android布局 首先,定义定义圆形Imageview类: import android.content.Context; import android.graphics.Bitmap; imp ...

  5. SCOJ 4484 The Graver Robbers' Chronicles 后缀自动机

    4484: The Graver Robbers' Chronicles 题目连接: http://acm.scu.edu.cn/soj/problem.action?id=4484 Descript ...

  6. Codeforces Round #304 (Div. 2) D. Soldier and Number Game 数学 质因数个数

    D. Soldier and Number Game Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/conte ...

  7. iOS 反反注入 修改__RESTRICT,__restrict工具

    通过在 Xcode 里的 Other Linker Flags 设置参数,可以防止App被注入dylib(仅限于iOS 10 以下系统)  比如,某艺,XX音乐等 dylib无法注入,也就意味着没办法 ...

  8. Maven编译代码的相关命令

    第一.main目录下的主代码编写完毕后,使用Maven进行编译,在项目根目录下运行命令mvn clean compile进       行项目编译. 第二.test目录下的测试用例编写完毕之后就可以调 ...

  9. 对printf函数的理解1

    看如下代码: #include <stdio.h> int main(int argc, const char *argv[]) { printf("%s\n",&qu ...

  10. 高级需求分析UML建模设计模式笔记

    1.REQ->HLR 分析 全系统性质->AD设计 Context,BOM,Conception 2.REQ->LLR 分析 模块分析->DD设计 + 编码 Feature,B ...