scroll、offset、client

本文详细介绍了DOM元素的scroll、offset和client属性,包括它们的区别和应用场景。offset属性用于获取元素相对于定位父元素的位置和大小,client属性则提供元素内容区的边框信息,而scroll属性则涉及元素的滚动位置和实际尺寸。此外,还介绍了立即执行函数的概念及其在JavaScript中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

scroll、offset、client

1、offset

  • 获取元素距离带有定位父元素的位置
  • 获得元素自身的大小
  • 注意:返回的数据都不带单位
属性说明
elem.offsetParent返回带有定位的父元素,父元素没有定位返回body
elem.offsetTop返回距离带有定位的父元素上方的偏移(距离顶部的位置)
elem.offsetLeft
elem.offsetWidth返回包括margin、padding和内容的宽度
elem.offsetHeight

2、client

通过client的相关属性可以动态获取到元素边框大小、元素大小等

属性说明
elem.clientTop上边框的大小
elem.clientLeft左边框的大小
elem.clientWidth包含padding和内容,不包括边框
elem.clientHeight同上

3、scroll

可以获取元素的大小,滚动距离等;如果向获取页面的滚动距离,应该用,window.pageXOffset

属性说明
elem.scrollTop被卷上去的距离(上面的看不见的那一部分)
elem.scrollLeft被卷到左侧的距离
elem.scrollWidth实际的宽度,不含边框
elem.scrollHeight实际的高度,不含边框

4、总结

offsetWidth,返回带边框的内容区的宽度(不会包含内容超出边框部分)

clientWidth,返回不带边框的内容区的宽度(不会包含内容超出边框部分),常用

scrollWidth,返回不带边框内容的实际长度(包含内容超出边框部分)

内容超出:

另:立即执行函数

// 普通函数
function sout(a,b){
	console.log(a+'---'+b);
}
sout(4,2);	// 需要调用

// 立即执行函数(方法名写不写都可以),这种方法不通过调用也能执行:
// 写法一
(function sout (a,b){
	console.log(a + '---' + b);
})(5,2)
// 写法二
(function sout (a,b) {
   console.log(a + '---' + b); 
}(5,2))

注:在一个立即执行函数中作用域独立。如写法一与写法二同时出现在一个文件中也不会冲突

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值