javascript获取浏览器的高度和宽度(documentElement,clientHeight,offsetHeight,scrollHeight,scrollTop,offsetParent,offsetY,innerHeight)

document.body.clientHeight:

IE、chrome、firefox:

body对象高度(height+padding),body的默认高度为0

document.body.clientWidth:

IE、chrome、firefox

body对象的宽度(width+padding),body的默认宽度是浏览器宽度减去body的maring

document.documentElement.clientHeight/document.documentElement.clientWidth:

IE、chrome、firefox

浏览器可是区域的高度/宽度

document.body.scrollHeight 、 document.body.scrollWidth

IE、firefox:

scrollHeight:body里边内容的实际高度,加上body的padding值。

scrollWidth:body的scrollWidth的最小值是浏览器的宽度减去body的左右maring的值,如果横向有滚动条,那么就是内容的实际宽度

<style type="text/css">
    body{  margin-top: 20px; padding-top: 20px;}
    div{ float: left;  width: 300px; height: 100px; margin: 0 auto; background: darkred; overflow: auto;}
</style>
console.log("body scrollHeight : " + document.body.scrollHeight); //它的值就是100+20,body.scrollHeight的最小值是0,body的scrollWidth的最小值是浏览器的宽度减去body的左右maring的值

chrome:

浏览器里边内容的的实际宽度(包含的滚动条滚动的宽度),比如当前窗口的宽度是500px,然后浏览器的滚动条还可以再滚动300px,那么在chrome下,scrollWidth的值为800px。

浏览器里边内容的的实际宽度(包含的滚动条滚动的宽度),比如当前窗口的宽度是500px,然后浏览器的滚动条还可以再滚动300px,那么在chrome下,scrollWidth的值为800px。

总结一下:对于document.body.scrollHeidht/width,chrome浏览器的算法是针对浏览器里边的内容,而firefox和IE是针对body里边的内容,所以有时候会有很大的区别。比如body里边有内容,但是内容是浮动的,那么此时在IE或FF下很有可能scrollHeight是0,而在chrome下该元素还是真实内容的值。

document.documentElement.scrollHeight:

chrome中的算法是针对浏览器中实际内容的宽和高度,比如

<style type="text/css">
    body{ margin-top: 20px; }
    div{ float: left;  width: 300px; height: 100px; margin: 0 auto; background: darkred; overflow: auto;}
</style>//document.documentElement.scrollHeight的值是120,而FF和IE的值则是浏览器里边所有的内容的值,意思就是如果内容小于窗口的高度,那么就是窗口的高度,如果内容大于窗口的高度,那么就是所有内容的高度,包括body的magin<div></div>

普通元素的scrollHeight和scrollWidth,oDiv.scrollHeight说的就是div中所有内容的真是高度,IE、FF、Chrome是一样的,不一样的话一般就是它们里边的元素默认样式不一样大小,比如都是div里边的p标签,但是p的默认高度是不一样的,这种情况下有可能造成它们的值不一样

时间: 2024-10-07 12:51:02

javascript获取浏览器的高度和宽度(documentElement,clientHeight,offsetHeight,scrollHeight,scrollTop,offsetParent,offsetY,innerHeight)的相关文章

JavaScript获取浏览器高度和宽度值(documentElement,clientHeight,offsetHeight,scrollHeight,scrollTop,offsetParent,offsetY,innerHeight)

IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.documentElement.clientWidth ==> 可见区域宽度 document.documentElement.clientHeight ==> 可见区域高度 FireFox中:  document.body.clientWidth ==> BODY对象宽度 document.

javascript 获取视口的高度和宽度

//获取视口的高度和宽度. function windowHeight() { var de = document.documentElement; return self.innerHeight||(de && de.offsetHeight)||document.body.offsetHeight; } function windowWidth() { var de = document.documentElement; return self.innerWidth||( de &am

JS获取浏览器的高度和宽度

### 实用的 JavaScript 方案(涵盖所有浏览器,不包括工具栏/滚动条): 1 var w=window.innerWidth 2 || document.documentElement.clientWidth 3 || document.body.clientWidth; 4 5 var h=window.innerHeight 6 || document.documentElement.clientHeight 7 || document.body.clientHeight; ##

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

javascript中获取dom元素高度和宽度的方法如下: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.body.offsetWidth (包括边线的宽)网页可见区域高: document.body.offsetHeight (包括边线的高)网页正文全文宽: document.body.scrollWidth网页正文全文高: document.body.scrollH

jQuery,javascript获得网页的高度和宽度$(document).height / $(window).height

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

jquery javascript获得网页的高度和宽度

javascript 网页可见区域宽:     document.body.clientWidth网页可见区域高:     document.body.clientHeight网页可见区域宽:     document.body.offsetWidth (包括边线的宽)网页可见区域高:     document.body.offsetHeight (包括边线的高)网页正文全文宽:     document.body.scrollWidth网页正文全文高:     document.body.sc

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

http://www.jb51.net/article/23331.htm javascript 获取页面的高度及滚动条的位置的代码 作者: 字体:[增加 减小] 类型:转载 javascript获取页面的高度及滚动条的位置的代码,需要的朋友可以参考下. 复制代码代码如下: var Viewport={ top : function(){ return window.pageYOffset || document.documentElement && document.documentEl

Activity中获取view的高度和宽度为0的原因以及解决方案

在activity中可以调用View.getWidth.View.getHeight().View.getMeasuredWidth() .View.getgetMeasuredHeight()来获得某个view的宽度或高度,但是在onCreate().onStrart().onResume()方法中会返回0,这是应为当前activity所代表的界面还没显示出来没有添加到WindowPhone的DecorView上或要获取的view没有被添加到DecorView上或者该View的visibili

JavaScript获取浏览器类型与版本

原文:http://www.cnblogs.com/xdp-gacl/p/3926848.html 从网上找到一段使用JavaScript判断浏览器以及浏览器版本的比较好的代码,在此记录一下: <script type="text/javascript"> var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[