body是DOM对象里的body子节点,即 <body> 标签;

documentElement 是整个节点树的根节点root,即<html> 标签;

window.screen.width、window.screen.height、screen.width、screen.height分别表示显示屏幕的宽高,即屏幕的分辨率。

window.innerHeight、window.innerWidth分别表示浏览器展示页面内容可见的高度和宽度。

window.outerHeight、window.outerWidth分别表示浏览器的高度和宽度,包括收藏栏等等这些的宽度和高度。

client

document.documentElement.clientWidth:浏览器上网页可见内容的宽度。

document.documentElement.clientHeight:浏览器上网页可见内容的高度。

document.body.clientWidth:body宽度。

document.body.clientHeight:body宽度。

element.clientWidth = 左侧内边距+内容宽度+右侧内边距。

element.clientHeight = 上侧内边距+内容高度+下侧内边距。

Offset

document.documentElement.offsetWidth:表示html的宽度,不包括html的margin和border宽度。

document.documentElement.offsetHeight:表示html的高度,不包括html的margin和border宽度。

document.body.offsetWidth:表示body的宽度,不包括body的margin和border宽度。

document.body.offsetHeight:表示body的高度,不包括body的margin和border宽度。

element.offsetWidth = 左侧边框宽度+左侧内边距+内容宽度+右侧内边距+右侧边框宽度。

element.offsetHeight = 上侧边框宽度+上侧内边距+内容高度+下侧内边距+下侧边框宽度。

offsetParent 返回这个元素的父级元素

scroll

document.documentElement.scrollWidth:表示浏览器页面宽度,有滚动条是包括滚动条后面的

document.documentElement.scrollHeight:表示浏览器页面高度,有滚动条是包括滚动条后面的

document.documentElement.scrollTop:表示垂直方向滚动条滚动过的距离

document.documentElement.scrollLeft:表示水平方向滚动条滚动过的距离

if (window.pageXOffset !== undefined) {  
  // 所有浏览器,除了 IE9 及更早版本
alert("水平滚动距离: " + window.pageXOffset);
alert("垂直滚动距离: " + window.pageYOffset);
} else {
  // IE9 及更早版本
alert("水平滚动距离: " + document.documentElement.scrollLeft);
alert("垂直滚动距离: " + document.documentElement.scrollTop);
}

  

document.body.scrollWidth:当html、body没有marign、border、padding时等于 document.documentElement.scrollWidth

document.body.scrollHeight当html、body没有marign、border、padding时等于 document.documentElement.scrollHeight

element.scrollWidth = 左侧内边距+内容宽度+右侧内边距。

element.scrollHeight = 上侧内边距+内容高度+下侧内边距。

element.scrollLeft :当父元素宽度小于子元素宽度时,且存在滚动条时,获取父元素上的scrollLeft的滚动条滚动过的距离。

element.scrollTop :当父元素高度小于子元素高度时,且存在滚动条时,获取父元素上的scrollTop的滚动条滚动过的距离。

 

 

 

 

 

 

 

offset、client、scroll、screen的自己理解的更多相关文章

  1. JavaScript中的 offset, client,scroll

    在js 中我们要用到的 offset, client, scroll 在这我把自己理解的给大家分享一下. offset div.offsetTop 指div距离上方或上层控件的距离,单位像素 div. ...

  2. offset/client/scroll一些总结

    offset/client/scroll一些总结 1.offset 首先offset共有五个值 1.offsetParent 2.offsetTop 3.offsetLeft 4.offsetWidt ...

  3. js中 offset /client /scroll总结

    offset家族(只能读取,不能操作): offsetLeft:元素的边框的外边缘距离与已定位的父容器(offsetparent)的左边距离(就是子元素左边框到父元素左边框的距离). offsetTo ...

  4. js 元素offset,client , scroll 三大系列总结

    1,element.offsetWidth : 包括 padding 和 边框 2,element.clientWidth : 包括 padding ,不包含边框 , 内容超出会溢出盒子的时候,就用s ...

  5. offset client scroll

    offsetHeight offsetWidth返回为元素在屏幕上显示大小,不包括外边距 clientHeight clientWidht 和上面两个类似,不同的是,这两个不包括外边距高度. < ...

  6. bom中的offset,client,scroll

    简单明了

  7. JS 中的offset、scroll、client总结

    经常碰到offset.scroll.client这几个关键字,每次都要各种实验,这里总结一下. 两张图镇楼,随时翻阅 1. offset offset 指偏移,包括这个元素在文档中占用的所有显示宽度, ...

  8. javascript中常用坐标属性offset、scroll、client

    原文:javascript中常用坐标属性offset.scroll.client 今天在学习js的时候觉得这个问题比较容易搞混,所以自己画了一个简单的图,并且用js控制台里面输出测试了下,便于理解. ...

  9. python 全栈开发,Day52(关于DOM操作的相关案例,JS中的面向对象,定时器,BOM,client、offset、scroll系列)

    昨日作业讲解: 京东购物车 京东购物车效果: 实现原理: 用2个盒子,就可以完整效果. 先让上面的小盒子向下移动1px,此时就出现了压盖效果.小盒子设置z-index压盖大盒子,将小盒子的下边框去掉, ...

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

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

随机推荐

  1. Java 线程不安全问题分析

    当多个线程并发访问同一个资源对象时,可能会出现线程不安全的问题 public class Method implements Runnable { private static int num=50; ...

  2. 编写高质量代码改善C#程序的157个建议——建议28:理解延迟求值和主动求值之间的区别

    建议28:理解延迟求值和主动求值之间的区别 要理解延迟求值(lazy evaluation)和主动求值(eager evaluation),先看个例子: List<, , , , , , , , ...

  3. 国内物联网平台(8):中移物联网开放平台OneNet

    国内物联网平台(8)——中移物联网开放平台OneNet 马智 平台定位 OneNET是中移物联网有限公司搭建的开放.共赢设备云平台,为各种跨平台物联网应用.行业解决方案,提供简便的云端接入.存储.计算 ...

  4. DataSet取值并保存在List集合中

    DBHelper db = new DBHelper(); //实例化DB类 string sql = "select * from student"; //虚构的sql语句 Da ...

  5. 微软日志工厂 Microsoft.Extensions.Logging 中增加 log4net 的日志输出

    前提: 需要nuget   Microsoft.Extensions.Logging.Log4Net.AspNetCore   2.2.6: 描述:解决 .net core 微软日志工厂 Micros ...

  6. 「BZOJ 3280」小R的烦恼

    题目链接 戳我 \(Solution\) 这道题很像餐巾计划啊. 首先将每天拆成\(x\)和\(x'\),\(S->x\)流量为\(a_i\),费用为\(0\)表示一天下来有\(a_i\)个濒死 ...

  7. CSS3 transition 属性——逐渐变慢/匀速/加速/减速/加速然后减速

    ease: 1.ease:(逐渐变慢)默认值 2.linear:(匀速) 3.ease-in:(加速) 4.ease-out:(减速) 5.ease-in-out:(加速然后减速) 6.cubic-b ...

  8. 八大排序算法的python实现(五)堆排序

    代码 #coding:utf-8 #author:徐卜灵 # 堆排序适用于记录数很多的情况 #与快速排序,归并排序 时间复杂一样都是n*log(n) ######################### ...

  9. Jenkins持续集成企业实战系列之Jenkins配置演示-----03

    注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.    最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...

  10. 关于运行robot framework 报错解决方法,ModuleNotFoundError: No module named 'robot'

    报错: command: pybot.bat --argumentfile c:\users\76776\appdata\local\temp\RIDEiw0utf.d\argfile.txt --l ...