offset、client、scroll三个系列的相同与不同

  1. offset

用处:
1)、获得元素距离带有定位父元素的位置
2)、获得自身大小包括宽高边框内边距
3)、返回值不带单位
4)、不能设置元素的样式
offset家族的成员:
offsetParent:返回该元素带定位的最近父元素,如果父元素都没有定位,那就返回body
offsetTop:返回元素相对于带定位的父元素上边框的距离,返回值不带单位
offsetLeft:返回元素相对于带定位的父元素左边框的距离,返回值不带单位
offsetWidth:返回自身的宽度,width+border+padding,返回值不带单位
offsetHeight:返回自身的高度,Height+border+padding,返回值不带单位

与style的区别:

offsetstyle
offset 可以得到任意样式表中的样式值只能得到行内样式表中的样式值
offset 系列获得的数值是没有单位的style.width 获得的是带有单位的字符串
offsetWidth 包含padding+border+widthstyle.width 获得不包含padding和border 的值
offsetWidth 等属性是只读属性,只能获取不能赋值style.width 是可读写属性,可以获取也可以赋值
所以,我们想要获取元素大小位置,用offset更合适所以,我们想要给元素更改值,则需要用style改变
  1. client系列

    通过 client 系列的相关属性可以动态的得到该元素的边框大小、元素大小等
    clientTop:返回元素上边框大小
    clientLeft:返回元素左边框大小
    clientWidth:返回自身宽度(width+padding),不包含边框,没有单位
    clientHeight:返回自身高度(height+padding),不包含边框,没有单位

3.scroll系列
使用 scroll 系列的相关属性可以动态的得到该元素的大小、滚动距离等
scrollTop 返回DOM被卷到上面的距离,返回值没有单位
scrollLeft 返回DOM被卷到左面面的距离,返回值没有单位
scrollWidth :返回自身宽度(width+padding),不含边框,没有单位
scrollHeight :返回自身高度(height+padding),不含边框,没有单位
在这里插入图片描述
页面头部被卷起的解决兼容方案
页面被卷起头部的解决方案
1. 声明了 DTD,使用 document.documentElement.scrollTop
2. 未声明 DTD,使用 document.body.scrollTop
3. 新方法 window.pageYOffset 和 window.pageXOffset,IE9 开始支持

 function getScroll() { 
    return { 
    left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft||0, 
    top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0 
    }; 
}  
使用的时候  getScroll().left / getScroll().top;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值