offset、client、scroll、screen的自己理解
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的自己理解的更多相关文章
- JavaScript中的 offset, client,scroll
在js 中我们要用到的 offset, client, scroll 在这我把自己理解的给大家分享一下. offset div.offsetTop 指div距离上方或上层控件的距离,单位像素 div. ...
- offset/client/scroll一些总结
offset/client/scroll一些总结 1.offset 首先offset共有五个值 1.offsetParent 2.offsetTop 3.offsetLeft 4.offsetWidt ...
- js中 offset /client /scroll总结
offset家族(只能读取,不能操作): offsetLeft:元素的边框的外边缘距离与已定位的父容器(offsetparent)的左边距离(就是子元素左边框到父元素左边框的距离). offsetTo ...
- js 元素offset,client , scroll 三大系列总结
1,element.offsetWidth : 包括 padding 和 边框 2,element.clientWidth : 包括 padding ,不包含边框 , 内容超出会溢出盒子的时候,就用s ...
- offset client scroll
offsetHeight offsetWidth返回为元素在屏幕上显示大小,不包括外边距 clientHeight clientWidht 和上面两个类似,不同的是,这两个不包括外边距高度. < ...
- bom中的offset,client,scroll
简单明了
- JS 中的offset、scroll、client总结
经常碰到offset.scroll.client这几个关键字,每次都要各种实验,这里总结一下. 两张图镇楼,随时翻阅 1. offset offset 指偏移,包括这个元素在文档中占用的所有显示宽度, ...
- javascript中常用坐标属性offset、scroll、client
原文:javascript中常用坐标属性offset.scroll.client 今天在学习js的时候觉得这个问题比较容易搞混,所以自己画了一个简单的图,并且用js控制台里面输出测试了下,便于理解. ...
- python 全栈开发,Day52(关于DOM操作的相关案例,JS中的面向对象,定时器,BOM,client、offset、scroll系列)
昨日作业讲解: 京东购物车 京东购物车效果: 实现原理: 用2个盒子,就可以完整效果. 先让上面的小盒子向下移动1px,此时就出现了压盖效果.小盒子设置z-index压盖大盒子,将小盒子的下边框去掉, ...
- client/scroll/offset width/height/top/left ---记第一篇博客
client/scroll/offset width/height/top/left (盒模型为contentBox,定位原点是元素左上角边框最外层的交点) clientWidth width+左p ...
随机推荐
- 如何偷Android的内存-Tricking Android MemoryFile
之前在做一个内存优化的时候,使用到了MemoryFile,由此发现了MemoryFile的一些特性以及一个非常trickly的使用方法,因此在这里记录一下 What is it MemoryFile是 ...
- 二度Xml<2>
一下介绍xml的基本操作,添加xml新节点: 其他方法在前一篇日记中有详细讲解,请详见:http://www.cnblogs.com/fjsnail/archive/2012/10/20/273212 ...
- fork()的写时复制技术(转载)
本文转载自http://www.cnblogs.com/wuchanming/p/4495479.html,为了方便以后查看... 写时复制技术最初产生于Unix系统,用于实现一种傻瓜式的进程创建:当 ...
- 搭建自己的git服务器--gogs
//@desn:搭建自己的git服务器--gogs //@desn:码字不宜,转载请注明出处 //@author:张慧源 <turing_zhy@163.com> //@date:201 ...
- Ubuntu设置root账户密码
创建Ubuntu后是没有root账户的,执行 sudo passwd root 然后系统会提示你输入普通用户的密码.输入后,按回车,然后重复输入两次新的root密码即可激活root用户.
- C#生成静态文件
一般生成文件都是通过读取模板文件,然后替换标签. 这些古老的方法使用起来不但麻烦而且效率还不怎么样. 这里给添加介绍一个方法. 如果你用过asp.net.mvc (Razor),你就应该明白 chtm ...
- VSCode调试设置
tasks.json { "version": "0.1.0", "isShellCommand": true, "args&qu ...
- Kotlin 区间和循环 Loop和Range
在kotln中有一种很简单的方式来表达某一个区间的数字. 比如我想存储1~100. 我在其他的语言中可以用数组,步骤大概有三个把. 但是在kotlin中就只需要一步. 代码如下: fun main(a ...
- 「BZOJ 3123」「SDOI 2013」森林「启发式合并」
题意 你有一个森林,你需要支持两个操作 查询两个结点路径上权值第\(k\)小 两个点之间连一条边 强制在线,结点数\(\leq 8\times 10^4\) 题解 如果可以离线,这就是一个主席树板子题 ...
- 洛谷P3779 [SDOI2017]龙与地下城(概率论+Simpson+FFT)
题面 传送门 题解 orz shadowice 正态分布 正态分布是随机变量\(X\)的一种概率分布形式.它用一个期望\(\mu\)和方差\(\sigma^2\)就可以描述,记为\(N(\mu,\si ...