`
l6259710
  • 浏览: 109695 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

document.body属性[转]

 
阅读更多

1、若网页中含有< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >这一行代码,则应该使用document.documentElement
2、若网页中只有而没有上面的一行代码,则JS脚本应该使用document.body

下面的是从网上找到的一点信息,希望对以后有点用处:

  在设计页面时可能经常会用到固定层的位置,这就需要获取一些html对象的坐标以更灵活的设置目标层的坐标,这里可能就会用到document.body.scrollTop等属性,但是此属性在xhtml标准网页或者更简单的说是带< !DOCTYPE..>标签的页面里得到的结果是0,如果不要此标签则一切正常,那么在xhtml页面怎么获得body的坐标呢,当然有办法-使用document.documentElement来取代document.body,可以这样写
例:
var top = document.documentElement.scrollTop || document.body.scrollTop;
在javascript里||是个好东西,除了能用在if等条件判断里,还能用在变量赋值上。那么上例等同于下例。
例:
var top = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
这么写可以得到很好的兼容性。

相反,如果不做声明的话,document.documentElement.scrollTop反而会显示为0。

得到各个属性如下:

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

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 相对文档的水平座标+垂直方向滚动的量
Post by molong on 2009-05-19 11:57 PM #1

要获取当前页面的滚动条纵坐标位置,用:
document.documentElement.scrollTop;
而不是:
document.body.scrollTop;
documentElement 对应的是 html 标签,而 body 对应的是 body 标签。

在标准w3c下,document.body.scrollTop恒为0,需要用document.documentElement.scrollTop来代替;
如果你想定位鼠标相对于页面的绝对位置时,你会发现google里面1000篇文章里面有999.99篇会让你使用event.clientX+document.body.scrollLeft,event.clientY+document.body.scrollTop,如果你发现你的鼠标定位偏离了你的想象,请不要奇怪,这是再正常不过的事情。
ie5.5之后已经不支持document.body.scrollX对象了。

 

 

本文转于:http://blog.sina.com.cn/s/blog_68bb0bad0100s58f.html

分享到:
评论

相关推荐

    document.body属性.document.body.scrollTop

    NULL 博文链接:https://lingf.iteye.com/blog/1852295

    用document.documentElement取代document.body的原因分析

    上次的测试说明了document.body属性并不会给我们返回预期的结果,比如我们用document.body.clientHeight原本想取得“页面可见区域高度”,可实际上返回的是“页面实际内容高度”。 那我们怎么办呢?难道加上了文档...

    JS获取网页属性包括宽、高等等

    s += ” 网页可见区域宽:”+ document.body.clientWidth+” “; s += ” 网页可见区域高:”+ document.body.clientHeight+” “; s += ” 网页可见区域宽:”+ document.body.offsetWidth + ” (包括边线和滚动条...

    再谈ie和firefox下的document.all属性

    例如下面的代码: 代码如下: &lt;... &lt;body&gt; [removed] &lt;!– if(document.all) alert&#40;... 但这样是不能直接就认为在 firefox中 是不支持 document.all属性方法的。 下面一段代码,在IE和firefox浏览器

    js获取浏览器的各种属性

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

    doctype后如何获得body.clientHeight的方法

    因为在加了doctype后,在ie6中这些document.body的属性已经重新分配给了document.documentElement。 比如:原来document.body.clientHeight,就要改成document.documentElement.scrollTop 为了自适应,可以改了下...

    js基础之DOM中document对象的常用属性方法详解

    —–引入 每个载入浏览器的 HTML 文档都会成为 Document 对象。 Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。...4 document.body 返回body元素节点 方法 1 document.close() 

    【JavaScript源代码】JavaScript实现换肤效果(换背景).docx

    JavaScript实现换肤效果(换背景)  本文实例为大家分享了JavaScript实现换肤效果的具体...4、注意:body元素对象的获取为- - -document.body,js为背景图片路径赋值注意路径的拼接- - -document.body.style.backgroun

    js中的如何定位固定层的位置

    需要获取一些HTML的对象的坐标来更灵活的设置目标层的坐标,这里可以通过用到document.body.scrollTop等属性,但是这些属性在xhtml的标准网页中或更简单的说就是带&lt;!DOCTYPE…&gt;的标签中得到的值是0;如果不要此...

    aristocrat:上流社会的挑剔成员选择 Aristocrat JavaScript 库来操作他们的类属性

    贵族上流社会的挑剔成员选择 Aristocrat JavaScript 库来操作他们的类属性。例子 aristocrat . addClass ( document . body , 'king' ) ;aristocrat . removeClass ( document . body , 'king' ) ;aristocrat . ...

    document.getElementById获取控件对象为空的解决方法

    1.下面是一个简单的例子,页面加载时显示一段信息 代码如下:&lt;&#37;@ page language=”java” import=”java.util.*” pageEncoding=”UTF-8″%&gt;&lt;!... &lt;...body onLoad=”showMessage()”&gt; 

    通过JavaScript下载文件到本地的方法(单文件)

    最近在做一个文件下载的功能,这里把做的过程中用的技术和坑简要总结下。 1. 单文件下载(a标签) 同源单文件 针对单文件的情况下,同源的文件,可以通过 &lt; a&gt; ... document.body.appendChild(elt); elt.click(); d

    JS弹出居中的DIV的代码

    首先再次详细解释一下JS中窗口和网页的几种尺寸属性的含义 document.body.clientWidth(网页可见区域宽):是指浏览器显示网页的区域宽度,不包括浏览器的边框宽度和垂直滚动条的宽度。大小随着浏览器的窗口大小而...

    javascript函数的解释

    6.一个小写转大写的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase(); 7.JS中的值类型:String,Number,Boolean,Null,Object,Function 8.JS中的字符型转换成数值...

    jQuery中使用了document和window哪些属性和方法小结

    document.body获得当前文档的HTMLBodyElement元素 document.compatMode 获取当前文档的渲染方式。返回值:BackCompat(怪癖模式)和CSS1Compat(标准模式)。 由于IE 8多达五种渲染模式,所以判断是否是怪癖模式需要...

    js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码

    IE中,浏览器显示窗口大小只能以下获取: 代码如下复制代码 代码如下:document.body.offsetWidth document.body.offsetHeight在声明了DOCTYPE的浏览器中,可以用以下来获取浏览器显示窗口大小: 代码如下复制代码 ...

    js获得页面的高度和宽度的方法

    ,然后在监控页面里面输入document.body,查看所有body的属性看看哪个结果是自己需要的,如果没有适合还可以输入window,然后看看window下是否有适合的属性,今天我的问题解决就是通过这种方式解决的,属性是window

    DhtmlxTree-dhtmlxmenu实现在节点上右键弹出菜单

    x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, y:ev.clientY + document.body.scrollTop - document.body.clientTop }; } document.onmousemove = mouseMove; function ...

    利用WebBrowser彻底解决Web打印问题(包括后台打印)

    document.body.insertAdjacentHTML("beforeEnd","&lt;object id=\"WebBrowser\" width=0 height=0 \classid=\"clsid:8856F961-340A-11D0-A96B-00C04FD705A2\"&gt;");2 .页面设置和打印预览如下所示,直接调用即可document....

    滚动条-任何位置:适用于Google Chrome的滚动条-Anywhere扩展-单击并拖动到任何位置以滚动

    通过使用document.scrollingElement作为最外部的滚动元素(而不是document.body来解决Chrome v61 +中某些网站上的滚动,即使document.body看起来是可滚动的。 2.13 修复在Chrome V61 +滚动,通过使用document....

Global site tag (gtag.js) - Google Analytics