来源:http://www.ido321.com/911.html

html代码

   1: <body> 
   2:     <div class="father" id="father">
   3:         <h3>这是父元素,屏幕分辨率是1366*768</h3>
   4:         <div class="son" id="son">
   5:             <h3>这是子元素,祝大家国庆快乐 </h3>
   6:             <div class="grandson" id="grandson">
   7:                 <h3>这是孙子元素,祝大家国庆快乐 </h3>
   8:                 <h3>我的博客:www.ido321.com</h3>
   9:                 <h3>程序爱好者QQ群:</h3>
  10:                 <h3>259280570  </h3>
  11:                 <h3>欢迎你增加 </h3>
  12:                 <h3>国庆快乐  </h3>
  13:             </div>
  14:         </div>
  15:     </div>
  16:     <div class="data">
  17:         <h3>数据输出</h3>
  18:         <div id="data"></div>
  19:     </div>
  20: </body> 

css

   1: *
   2:     {
   3:         margin: 0 auto;
   4:     }
   5:     .father
   6:     {
   7:         width: 500px;
   8:         height: 750px;
   9:         border: 5px solid red;
  10:         float: left;
  11:     }
  12:     .son
  13:     {
  14:         width: 400px;
  15:         height: 300px;
  16:         border: 5px solid black;
  17:         margin: 20px;
  18:     }
  19:     .grandson
  20:     {
  21:         width: 150px;
  22:         height: 100px;
  23:         border: 5px solid blue;
  24:         margin: 20px;
  25:         overflow: auto;
  26:     }
  27:     .data
  28:     {
  29:         width: 600px;
  30:         height: 750px;
  31:         border: 5px solid red;
  32:         float: left;
  33:         margin-left: 15px;
  34:     }

js:

   1: window.onload = function()
   2:     {
   3:         /*获取元素对象*/
   4:         var father = document.getElementById('father');
   5:         var son = document.getElementById('son');
   6:         var grandson = document.getElementById('grandson');
   7:         var data = document.getElementById('data');
   8:         data.innerHTML = "<h3>获取视窗大小(跟窗体大小有关)</h3>";
   9:         data.innerHTML += "document.body可见区域宽: "+document.body.clientWidth+"<br/>";
  10:         data.innerHTML += "document.body可见区域高: "+document.body.clientHeight+"<br/>";
  11:         data.innerHTML += "window.innerWidth可见区域宽: "+window.innerWidth+"<br/>";
  12:         data.innerHTML += "window.innerHeight可见区域高: "+window.innerHeight+"<br/>";
  13:         data.innerHTML += "document.documentElement可见区域宽: "+document.documentElement.clientWidth+"<br/>";
  14:         data.innerHTML += "document.documentElement可见区域高: "+document.documentElement.clientHeight+"<br/>";
  15:         data.innerHTML += "<h3>获取元素自身大小(跟是否有滚动栏无关)</h3>";
  16:         data.innerHTML += ".son自身宽度(offsetWidth属性,包含左右边框):"+son.offsetWidth+"<br/>";
  17:         data.innerHTML += ".son自身高度(offsetHeight属性,包含上下边框):"+son.offsetHeight+"<br/>";
  18:         data.innerHTML += ".son可视宽度(clientWidth属性。不包含左右边框):"+son.clientWidth+"<br/>";
  19:         data.innerHTML += ".son可视高度(clientHeight属性。不包含上下边框):"+son.clientHeight+"<br/>";
  20:         data.innerHTML += "<h3>获取.grandson滚动大小和可视大小</h3>";
  21:         data.innerHTML += ".grandson滚动宽度(scrollWidth属性):"+grandson.scrollWidth+"<br/>";
  22:         data.innerHTML += ".grandson滚动高度(scrollHeight属性):"+grandson.scrollHeight+"<br/>";
  23:         data.innerHTML += ".grandson可视宽度(clientWidth属性,不包含竖直滚动栏和border):"+grandson.clientWidth+"<br/>";
  24:         data.innerHTML += ".grandson可视高度(clientHeight属性,不包含水平滚动栏和border):"+grandson.clientHeight+"<br/>";
  25:         data.innerHTML += "<h3>获取.grandson被卷去的大小(跟滚动栏的位置有关)</h3>";
  26:         data.innerHTML += ".grandson被卷去的高(scrollTop属性,竖直滚动栏滑到最底端):"+grandson.scrollTop+"<br/>";
  27:         data.innerHTML += ".grandson被卷去的左(scrollLeft属性,水平滚动栏滑到最右端):"+grandson.scrollLeft+"<br/>";
  28:         data.innerHTML += "<h3>获取浏览器窗体位置(跟窗体大小有关)</h3>";
  29:         /*
  30:         *IE、Chrome、Safari、Opera 都提供了支持 window.screenLeft 和 *window.screenTop。可是Firxfox不支持这个两个属性。
  31:         *Firxfox、Chrome、Safari、Opera 都提供了支持 window.screenX *和 window.screenY,可是 IE 不支持这个两个属性。
  32:         */
  33:         var leftPos = (typeof window.screenLeft == 'number')?window.screenLeft:window.screenX;
  34:         var topPos = (typeof window.screenTop == 'number')?window.screenTop:window.screenY;
  35:         data.innerHTML += "body网页正文部分上(window.screenTop(Y)):"+ topPos+"<br/>";
  36:         data.innerHTML += "body网页正文部分左(window.screenLeft(X)):"+ leftPos+"<br/>";
  37:         data.innerHTML += "<h3>获取屏幕分辨率</h3>";
  38:         data.innerHTML += "屏幕分辨率的高(window.screen.height):"+ window.screen.height+"<br/>";
  39:         data.innerHTML += "屏幕分辨率的宽(window.screen.width):"+ window.screen.width+"<br/>";
  40:         data.innerHTML += "<h3>获取屏幕可用的高宽</h3>";
  41:         data.innerHTML += "屏幕分辨率的高(window.screen.availHeight):"+ window.screen.availHeight+"<br/>";
  42:         data.innerHTML += "屏幕分辨率的宽(window.screen.availWidth):"+ window.screen.availWidth+"<br/>";
  43:         data.innerHTML += "<h3>获取.father的边框大小</h3>";
  44:         data.innerHTML += ".father上边框(clientTop):"+ father.clientTop+"<br/>";
  45:         data.innerHTML += ".father左边框(clientLeft):"+ father.clientLeft+"<br/>";
  46:         data.innerHTML += "<h3>获取.son到父元素边界的距离(即相应margin+父元素相应的border)</h3>";
  47:         data.innerHTML += ".son到父元素上边界(offsetTop):"+ son.offsetTop+"<br/>";
  48:         data.innerHTML += ".son到父元素左边界(offsetLeft):"+ son.offsetLeft+"<br/>";
  49:     }
 
ps:浏览器对盒子的解析存在差异,所以以上得出的数据也会存在小小差异。附图一张

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTA0Mzg0Mw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

 
关于获取视窗大小的差别:http://www.ido321.com/906.html

JavaScript中的*top、*left、*width、*Height具体解释的更多相关文章

  1. 关于javascript中静态成员和实例成员的详细解释

    关于javascript中静态成员和实例成员的详细解释  在我们了解什么是静态成员和实例成员之前,我们首先来了解一下什么是实例? 实例就是由构造函数创建出来的对象. 例如案例中 p 就是实例: fun ...

  2. JavaScript中的*top、*left、*width、*Height详解

    来源:http://www.ido321.com/911.html html代码 1: <body> 2: <div class="father" id=&quo ...

  3. RelativeLayout-代码中成员控件width height

    今天需要在代码中动态的设置一个textview的width跟height属性,记录下来. textview在xml中的布局如下 <RelativeLayout android:layout_wi ...

  4. Javascript中关于作用域和闭包和域解释的面试题

    <script type="text/javascript"> function fn() { var i = 10; return function (n) { co ...

  5. offset[Parent/Width/Height/Top/Left] 、 client[Width/Height/Top/Left] 、 Element.getBoundingClientRect()

    开篇提示:以下内容都经个人测试,参考API文档总结,但还是不能保证完全正确,若有错误,还请留言指出___________________________________________________ ...

  6. javascript中top、clientTop、scrollTop、offsetTop的讲解(转载加总结)

    scrollHeight: 获取对象的滚动高度. scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最 ...

  7. delphi 窗体的位置和高宽度-TForm:Letf、Top、Width、Height、ClientWidth、ClientHeight

    delphi 窗体的位置和高宽度-TForm:Letf.Top.Width.Height.ClientWidth.ClientHeight [窗体的高度和宽度]: [客户区的高度和宽度]: [窗体在屏 ...

  8. JavaScript中 window.parent 、window.top、window.self代表的含义

    在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口, opener是用open方法 ...

  9. client/scroll/offset width/height/top/left ---记第一篇博客

    client/scroll/offset width/height/top/left (盒模型为contentBox,定位原点是元素左上角边框最外层的交点) clientWidth  width+左p ...

随机推荐

  1. caioj 1412 动态规划3:a+b问题(完全背包方案数)

    每个素数就是一个物品,然后就相当于求完全背包方案数 把max改成+就好了. #include<cstdio> #include<vector> #include<cstr ...

  2. bootstrap结合google code prettify的问题

    发现prettify不能显示行号,于是上网找了解决方法: 只使用prettify的js的文件,不使用css文件,另外添加这段css: .com { color: #93a1a1; } .lit { c ...

  3. Android视图载入到窗体的过程分析

    上一篇博客Android中Handler原理在讲到Handler的时候谈到了android的Activity启动是怎样运行到onCreate方法的,这篇主要从onCreate方法里面我们必需要写的方法 ...

  4. 目标跟踪--CamShift

    转载请注明出处! !! http://blog.csdn.net/zhonghuan1992 目标跟踪--CamShift CamShift全称是ContinuouslyAdaptive Mean S ...

  5. stl之set集合容器应用基础

    set集合容器使用一种称为红黑树(Red-Black Tree) 的平衡二叉检索树的数据结构,来组织泛化的元素数据.每一个节点包括一个取值红色或黑色的颜色域.以利于进行树的平衡处理.作为节点键值的元素 ...

  6. hadoop集群中动态添加新的DataNode节点

    集群中现有的计算能力不足,须要另外加入新的节点时,使用例如以下方法就能动态添加新的节点: 1.在新的节点上安装hadoop程序,一定要控制好版本号,能够从集群上其它机器cp一份改动也行 2.把name ...

  7. POJ 1682 DP

    原创: http://www.cnblogs.com/proverbs/archive/2012/10/03/2711151.html 超高仿: http://blog.csdn.net/mars_c ...

  8. 【实用篇】获取Android通讯录中联系人信息

    第一步,在Main.xml布局文件中声明一个Button控件,布局文件代码如下: <LinearLayout xmlns:android="http://schemas.android ...

  9. jQuery - 设置内容和属性 设置内容 - text()、html() 以及 val() , 设置属性 - attr()

    jQuery - 设置内容和属性  设置内容 - text().html() 以及 val() text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括 HTM ...

  10. php获取csv数据无乱码

    <?php //获取csv数据    function csvencode($file){        if(!is_file($file['tmp_name'])){            ...