JS:body元素对象的clientWidth、offsetWidth、scrollWidth、clientLeft、offsetLeft、scrollLeft

document.body.clientWidth


获取body元素对象的内容可视区域的宽度,即clientWidth=width+padding,不包括滚动条。

document.body.clientHeight

获取body元素对象的内容可视区域的高度,即clientHeight=height+padding,不包括滚动条。

浏览器兼容性

在IE7中,如果给body设置滚动条的话,滚动条是出现在body内部的。所以当给body设置width和height时,在IE7中clientWidth和clientHeight的值是要比其它浏览器中的值小一些的。

document.body.offsetWidth

获取body元素对象的宽度,即offsetWidth=width+padding+border,也可以写成offsetWidth=clientWidth+border。

document.body.offsetHeight

获取body元素对象的高度,即offsetHeight=height+padding+border,也可以写成offsetHeight=clientHeight+border。

浏览器兼容性

在IE7中,如果给body设置滚动条的话,滚动条是出现在body内部的。所以offsetWidth和offsetHeight的值还需要加上滚动条的宽度。当然最终的值和其它浏览器是一样的。

document.body.scrollWidth

获取body元素对象内容的实际宽度,即对象的滚动宽度。

document.body.scrollHeight

获取body元素对象内容的实际高度,即对象的滚动高度。

浏览器兼容性


  • 在FireFox和IE中,其获取的就是body元素对象内部内容的实际宽高。

  • 在Chrome、Safari、Opera中,scrollWidth和scrollHeight获取的是整个页面文档的滚动宽高。

document.body.clientLeft

获取body元素对象的左边框的宽度。

document.body.clientTop

获取body元素对象的上边框的宽度。

浏览器兼容性

各浏览器表现一致。

document.body.offsetLeft

获取body元素对象相对于自身的位置。

document.body.offsetTop

获取body元素对象相对于自身的位置。

浏览器兼容性


  • 在Chrome、Opera、Safari、IE8、IE9和IE10中,工作正常,offsetLeft和offsetTop的值都为0。

  • 在FireFox中,offsetLeft和offsetTop的值为负的body元素的border-width。

  • 在IE7中,offsetLeft和offsetTop指的是body元素对象的边框(不包括边框)到页面文档边缘的距离。

document.body.scrollLeft

获取页面文档向右滚动过的像素数。

document.body.scrollTop

获取页面文档向下滚动过的像素数。

浏览器兼容性


  • 在FireFox、IE8、IE9和IE10中,scrollLeft和scrollTop的值始终为0。

  • 在IE7中,scrollLeft和scrollTop的值为body元素对象最顶端和对象内容的最顶端之间的距离,即滚动条滚过的距离。

本文所用的测试代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>鬼眼邪神的博客</title>
<meta name="author" content="鬼眼邪神"/>
<meta name="description" content="博客地址http://cyg7561.blog.163.com/"/>
<style>
*{
margin:0;
padding:0;
}
html {
margin:20px;
padding:20px;
width:600px;
border:10px solid #000;
}
body {
margin:0 0 0 100px;
width:400px;
height:800px;
border:5px solid #000;
background:yellow;
overflow:scroll;
}
.green {
position:relative;
margin:50px auto;
padding:20px;
width:80px;
height:80px;
border:10px solid #000;
background:rgb(0,255,0);
}
.con {
margin:0 auto;
width:380px;
}
</style>
<script>
(function(){
window.onload=function (){
var con=document.getElementById("con");
var green=document.getElementById("green");
var body=document.getElementById("body");
document.onclick=function (event){
var event=window.event||event;
con.innerHTML=
"document.body.clientWidth="+document.body.clientWidth+","+
"document.body.clientHeight="+document.body.clientHeight+"<br/>"+
"document.body.offsetWidth="+document.body.offsetWidth+","+
"document.body.offsetHeight="+document.body.offsetHeight+"<br/>"+
"document.body.scrollWidth="+document.body.scrollWidth+","+
"document.body.scrollHeight="+document.body.scrollHeight+"<br/>"+
"document.body.clientLeft="+document.body.clientLeft+","+
"document.body.clientTop="+document.body.clientTop+"<br/>"+
"document.body.offsetLeft="+document.body.offsetLeft+","+
"document.body.offsetTop="+document.body.offsetTop+"<br/>"+
"document.body.scrollLeft="+document.body.scrollLeft+","+
"document.body.scrollTop="+document.body.scrollTop+"<br/>";
}
}
})();
</script>
</head>

<body>
<div class="green" id="green">
<div class="red"></div>
</div>
<div class="con" id="con"></div>
</body>
</html>

JS:body元素对象的clientWidth、offsetWidth、scrollWidth、clientLeft、offsetLeft、scrollLeft

时间: 2024-11-04 16:25:40

JS:body元素对象的clientWidth、offsetWidth、scrollWidth、clientLeft、offsetLeft、scrollLeft的相关文章

Web前端之 offsetWidth,clientWidth,scrollWidth,offsetLeft,clientLeft,scrollLeft

一.写作缘由: 我想,这绝对是一次意外,对,如此的意外,让我莫名其妙的写下了这篇博文 写下这个原因是我在做滚动文字(图片)的时候遇见了些困难,而不巧的是,就是本文的问题,因此想下定决心搞懂它,就查阅了很多的资料,然后,你懂得,这篇文章就诞生了. 二.涉及问题和总体概括: 如果你对width,offsetWidth,clientWidth,scrollWidth,offsetLeft,clientLeft,scrollLeft这几个的差别还不是很熟悉,那你最好翻阅资料搞清楚, 当然,你也可以看一下

JS中关于clientWidth offsetWidth scrollWidth 等的含义

转载,原文:http://www.cnblogs.com/fullhouse/archive/2012/01/16/2324131.html 网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body.offsetWidth   (包括边线的宽);网页可见区域高: document.body.offsetHeight  (包括边线的宽);网页正文全文宽: documen

js中的clientWidth offsetWidth scrollWidth等的含义

网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body.offsetWidth   (包括边线的宽);网页可见区域高: document.body.offsetHeight  (包括边线的宽);网页正文全文宽: document.body.scrollWidth;网页正文全文高: document.body.scrollHeight;网页被卷去的高: documen

JS中关于clientWidth offsetWidth scrollWidth 的区别及意义

网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body.offsetWidth   (包括边线的宽);网页可见区域高: document.body.offsetHeight  (包括边线的宽);网页正文全文宽: document.body.scrollWidth;网页正文全文高: document.body.scrollHeight;网页被卷去的高: documen

JS 获取元素对象/添加节点

一.设置或获取元素对象中(标签中)的属性和自定义属性 对象.属性 对象['属性'] 对象.getAttribute('属性名') 对象.setAttribute('属性名','属性值'); 对象.removeAttribute('属性名') 二.outerHTML : 当前节点对象及所有子节点(标签及所有内容) innerHTML : 当前节点中所有的内容(包含标签,会自动解析标签) innerText : 当前节点中所有的纯文本内容(不包含标签,不会自动解析标签) 三.如何获取所有的子节点?

js的元素对象

元素对象(element对象)        ** 要操作element对象,首先必须要获取到element,                       - 使用document里面相应的方法获取        ** 方法                 *** 获取属性里面的值                       getAttribute("属性名称")                                  - var input1 = document.get

clientWidth offsetWidth scrollWidth的区别

scrollWidth  是对象的实际内容的宽,不包边线宽度,会随对象中内容的多少改变(内容多了可能会改变对象的实际宽度). clientWidth  是对象可见的宽度,不包滚动条等边线,会随窗口的显示大小改变.  offsetWidth  是对象的可见宽度,包滚动条等边线,会随窗口的显示大小改变. 一个scrollWidth和clientWidth的例子:  <html>  <head>  <title>77.htm文件</title>  </hea

关于 clientWidth offsetWidth scrollWidth的理解

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

js获取浏览器基本信息:document.body.clientWidth/clientHeight/scrollWidth/scrollTop。(转)

js获取浏览器基本信息:document.body.clientWidth/clientHeight/scrollWidth/scrollTop. 分类: js.jquery.ext.js技术2011-07-28 17:20 6532人阅读 评论(1) 收藏 举报 浏览器firefoxopera文档htmlie 网页可见区域宽:document.body.clientWidth网页可见区域高:document.body.clientHeight网页可见区域宽:document.body.offs