offset概述
offset
翻译过来就是偏移量,我们使用offset系列相关属性可以动态得到该元素的位置( 偏移)
,大小
等
注意:返回的数值都不带单位
- 获得元素自身的大小 (宽度高度)
- 获得自身元素相对带有定位的父元素的偏移
offset系列常用属性
offset系列属性 | 作用 |
---|---|
element.offsetTop | 返回元素相对带有定位父元素的上方偏移 |
element.offsetLeft | 返回元素相对带有定位父元素的左方偏移 |
element.offsetWidth | 返回自身包括padding、边框、内容区的宽度、返回的数值不带单位 |
element.offsetHeight | 返回自身包括padding、边框、内容区的高度、返回的数值不带单位 |
element.offsetParent | 返回作用在该元素带有定位的父级元素。如果一直向上没找到父级是带定位的,则返回body |
offset与style区别
offset
- offset系列获得的数值都不带单位
- offsetWidth包含padding+border+width
- offsetWidth为只读属性,只能获取不可赋值
- offset可以得到任意样式表中的样式值
- 所以获取元素自身的
大小位置
,使用offset更合适
style
- style只能得到行内样式表中的样式值
- style.width获取的数值是带单位的字符串
- style.width获得不包含padding和border的值
- style.width是可读写属性,既可获取也可赋值
- 所以,想要给元素更改值,则需要使用stylet改变
元素可视区client系列
client概述
client
翻译过来就是客户端,通过client系列的相关属性可以动态的得到该元素的边框大小
、元素大小(不包括边框
)等
client系列属性 | 作用 |
---|---|
element.clientTop | 返回元素上边框的大小 |
element.clientLeft | 返回元素左边的边框大小 |
element.clientWidth | 返回自身包括padding、内容区的宽度,不包括边框 ,返回的数值不带单位 |
element.clientHeight | 返回自身包括padding、内容区的高度,不包括边框 ,返回的数值不带单位 |
元素滚动scroll系列
scroll
翻译过来就是滚动的,通过scroll系列相关属性可以动态得到该元素的大小,滚动距离等
- 当出现滚动条时,向下滚动页面时,上面被隐藏掉的高度,被称为页面被卷去的部分,此时滚动条在滚动时会触发
scroll 事件
注意:元素被卷的头部使用element.scrollTop,如果是页面被卷去的头部则是window.pageYOffset
scroll系列属性 | 作用 |
---|---|
element.scrollTop | 返回元素 被卷去的上侧距离,返回数值不带单位 |
element.scrollLeft | 返回元素被卷去的左侧距离,返回数值不带单位 |
element.scrollWidth | 返回元素自身实际宽度(包括超出盒子的宽度),不含边框,返回的数值不带单位 |
element.scrollHeight | 返回元素自身实际高度(包括超出盒子的高度),不含边框,返回的数值不带单位 |
页面被卷 page
注意:元素被卷的头部使用element.scrollTop,如果是页面被卷去的头部则是window.pageYOffset
page属性 | 作用 |
---|---|
window.pageYOffset | 获取的是页面被卷 的头部,与scrllTop是元素被卷不同 |
window.pageXOffset | 获取的是页面被卷的左侧,与scrllLeft是元素被卷不同 |
三大系列总结
三大系列的主要用法
- offset系列经常用于,获取元素的位置
offsetTop
、offsetLeft
- client系列经常用于,获取元素的大小
clientWidth
、clientHeight
- scroll系列经常用于,获取元素的滚动距离
scrollTop
、scrollLeft
三大系列对比 | 作用 |
---|---|
element.offsetWidth | 返回自身内容宽度,包括padding、包括边框 。返回的数值不带单位 |
element.clientWidth | 返回自身内容宽度,包括padding、不包括边框 。返回的数值不带单位 |
element.scrollWidth | 返回自身内容包括超出元素的内容大小、包括padding、不包括边框 、返回的数值不带单位。 |
立即执行函数
- 立即执行函数(也称自调用函数)
- 主要作用:创建独立的作用域,避免变量名相互冲突。
-
(function(){}) () 复制代码
-
(function(){} ()) 复制代码
原生js 之 (DOM操作) >-<
「点赞、收藏和评论」
❤️关注+点赞+收藏+评论+转发❤️,鼓励笔者创作更好的文章,谢谢?大家。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END