offset,client,scroll的不同之处

1.offsetWidth、offsetHeight、offsetLeft和offsetTop

  • offset – 偏移
  • 用于获取元素自身的位置和大小,在网页特效中有广泛应用
  • offsetWidth和offsetHeight对象自身的的宽度/高度
  • offsetWidth和offsetHeight属性的构成?
    offsetWidth = width + border + padding
    offsetHeight = height + border + padding

 - offsetHeight 与 style.height 的区别?
 - i.获得的值的意义不同
     - 1.offsetHeight:获取元素的真实高度
     - 2.style.height:只能获取行内样式,如果样式写到了其他地方,甚至根本就没写,便无法获 取
 - ii.获得的值的类型不同:
     - 1.offsetHeight:数值类型
     - .style.height:字符串(而且带单位)
 - iii.使用方式的不同
     - 1.offseHeight:只读属性 只能获取属性值 不能设置元素的高度
     - 2.style.height:能获取、设置行内的height属性值

这里写图片描述
offsetParent 距离当前对象最近的并有定位的父级元素,若无则返回body
- offsetLeft和offsetTop
用来获取对象的位置(注意没有right和bottom)
2.client
- client – 可视
- 用于获取元素可视区域(客户区)的大小
- clientWidth和clientHeight
这里写图片描述
clientWidth = width + padding(自身)
scrollWidth = width + padding(内容)
offsetWidth = width + padding + border

clientLeft和clientTop
他们通常就是border(如果有滚动条会包含滚动条的宽度)


网页可视区宽高的几种获取方式:
正常浏览器(除了IE678外的浏览器)
window.innerWidth
已经声明DTD(标准模式)
document.documentElement.clientWidth
未声明 DTD(怪异模式)
document.body.clientWidth

兼容写法:

var clientWidth = window.innerWidth                                 ||document.documentElement.clientWidth
|| document.body.clientWidth
|| 0;

3.scroll

  • scroll – 滚动
  • 用于获取元素内容的大小和位置
  • scrollHeight和scrollWidth
    对象内部实际内容的高度/宽度
    scrollTop和scrollLeft
    用来获取对象被卷去部分的 顶部/左侧 到可视区域 顶部/左侧 的距离
  • onscroll事件:每滚动一像素都会触发该事件
    这里写图片描述
  • 页面滚动座标的兼容写法
正常浏览器(除了IE678外的浏览器)
window.pageYOffset
已经声明DTD(标准模式)
document.documentElement.scrollTop
未声明 DTD(怪异模式)
document.body.scrollTop

兼容写法:
var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值