BOM-三大系列篇

1. 元素偏移量offset系列

  1. offset 概述:
    1. offset 翻译过来就是偏移量
    2. 我们使用 offset 系列相关属性可以`动态的`得到该元素的位置(偏移)、大小等
    
  2. offset系列的属性:
    element.offsetTop
    // 如果没有带定位的父级元素,则相对 body 元素
    
    序号属性描述
    1offsetParent获取该元素带有定位的父级元素(如果父级没有定位,返回body)
    2offsetTop获取该元素相对带有定位父级元素上方的偏移,不带单位
    3offsetLeft获取该元素相对带有定位父级元素左边框的偏移,不带单位
    4offsetWidth获取自身的宽度(边框盒),不带单位
    5offsetHeight获取自身的高度(边框盒),不带单位
  1. offsetstyle 区别:
    在这里插入图片描述
  2. 放大镜案例的公式:
    在这里插入图片描述
    在这里插入图片描述

2. 元素可视区 client 系列

  1. client 概述:
    1. client 翻译过来就是客户端,我们使用 client 系列的相关属性来获取元素可视区的相关信息
    2. 通过 client 系列的相关属性`可以动态的得到该元素的`边框大小、元素大小等
    
  2. client 系列的属性:
    element.clientWidth
    // 获取到的元素大小包括(padding、内容区)
    
    序号属性描述
    1clientTop获取元素上边框的大小,不带单位
    2clientLeft获取该元素左边框的大小,不带单位
    3clientWidth获取该元素自身的宽度(不含边框),不带单位
    4offsetHeight获取该元素自身的高度(不含边框),不带单位
  1. clientLeftoffsetLet 的区别在于获取到的元素大小不包含边框,但是它有获取边框大小的属性

3. 元素滚动 scroll 系列

  1. scroll 概述:

    1. scroll 翻译过来就是滚动的
    2. 我们使用 scroll 系列相关的属性可以动态的得到该元素的大小、滚动距离等
    
  2. scroll 系列的属性 :

    序号属性描述
    1scrollTop获取被卷去的上侧距离,不带单位
    2scrollLeft获取被卷去的左侧距离,不带单位
    3scrollWidth获取该元素自身实际的宽度(不含边框),不带单位
    4scrollHeight获取该元素自身实际的高度(不含边框),不带单位
  1. scrollWidthclientWidth 的区别在于,它获取到的是元素的实际大小(包含padding),比如内容溢出的部分也计算在内

  2. 页面被卷去的头部

    1. 如果浏览器的高(或宽)度不足以显示整个页面时,会自动出现滚动条
    2. 当滚动条向下滚动时,页面上面被隐藏掉的高度,我们就称为`页面被卷去的头部`
    3. 页面被卷去的头部:`window.pageYOffset`IE9以上支持)
    4. 页面被卷去的左侧:`window.pageXOffset`IE9以上支持)
    5. 注意:元素被卷去的头部是`element.scrollTop`获取
    
  3. onscroll事件:

    1. `onscroll` 事件,在滚动条滚动时触发 
    2. 如果是页面滚动事件,那么事件源是`document`
    
  4. 滚动窗口

    // 1. 滚动窗口至文档中特点位置:x、y写数值就行,不带单位
    window.scroll(x, y)
    

4. 三大系列总结

  1. 获取元素大小对比
    序号三大系列大小对比描述
    1offsetWidth返会自身宽度(边框盒),不带单位
    2clientWidth返会自身宽度(不含边框),不带单位
    3scrollWidth返会自身实际宽度(不含边框,含溢出部分),不带单位
  1. 三大系列主要用法
    1. `offset 系列`,经常用于获得元素位置 offsetTop、offsetLeft
    2. `client 系列`,经常用于获得元素大小 clientWidth、clientHeight
    3. `scroll 系列`, 经常用于获取滚动距离 scrollTop、scrollLeft
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值