web API-day05-滚动事件和加载事件,元素大小和位置

一, 滚动事件和加载事件

1. 滚动事件

当页面进行滚动时触发的事件

事件名:scroll

监听整个页面滚动:

Ø 给 window 或 document 添加 scroll 事件

2. 加载事件

加载外部资源(如图片、外联CSS和JavaScript等)加载完毕时触发的事件

为什么要学?

Ø有些时候需要等页面资源全部处理完了做一些事情

Ø老代码喜欢把 script 写在 head 中,这时候直接找 dom 元素找不到

事件名:load

监听页面所有资源加载完毕:

Ø 给 window 添加 load 事件

注意:不仅可以监听整个页面资源加载完毕,也可以针对某个资源绑定load事件

2.1 加载事件L2

当初始的HTML 文档被完全加载和解析完成之后,DOMContentLoaded 事件被触发,而无需等待样式表、图像等完全加载

事件名:DOMContentLoaded

监听页面DOM加载完毕:

Ø 给 document 添加 DOMContentLoaded 事件

加载事件小结:
  加载事件有哪两个?如何添加?

 load 事件 
  Ø 监听整个页面资源给 window 加 

 DOMContentLoaded 
  Ø 给 document 加 
  Ø 当初始的 HTML 文档被完全加载和解析完成之后,而无需等待 样式表、图像等完全加载

二 , 元素大小和位置

scroll家族

offset家族

client家族

1. scroll家族

获取宽高:

Ø scrollWidth和scrollHeight

Ø 获取元素的内容总宽高(不包含滚动条)返回值不带单位

Ø 只读属性

获取位置:

Ø scrollLeft和scrollTop

Ø 获取元素内容往左、往上滚出去看不到的距离

Ø 这两个属性是可以修改的

获取页面的滚动卷曲距离: document.documentElement.scrollTop

document.documentElement HTML 文档返回对象为HTML元素

scroll家族小结:
1\. scrollWidth和scrollHeight是得到元素什么的宽高? 
Ø 内容 
Ø 不包含滚动条 

2\. 被卷去的头部或者左侧用那个属性?是否可以读取和修改? 
Ø scrollTop / scrollLeft 
Ø 可以读取,也可以修改(赋值) 

3\. 检测页面滚动的头部距离(被卷去的头部)用那个属性? 
Ø document.documentElement.scrollTop

2. offset家族

获取宽高:

Ø offsetWidth和offsetHeight

Ø 获取元素的真实宽高、包含元素自身设置的宽高、padding、border

获取位置:

Ø offsetLeft和offsetTop

Ø 获取元素距离自己定位父级元素的左、上距离

注意都是只读属性

offset家族小结:
1\. offsetWidth和offsetHeight是得到元素什么的宽高? 
Ø 内容 + padding + border 

2\. offsetTop和offsetLeft 得到位置以谁为准? 
Ø 带有定位的父级 
Ø 如果都没有则以 文档左上角 为准

3. client家族

获取宽高:

Ø clientWidth和clientHeight

Ø 获取元素的可见部分宽高(不包含边框,滚动条等)

获取位置:

Ø clientLeft和clientTop

Ø 获取左边框和上边框宽度

注意都是只读属性

会在窗口尺寸改变的时候触发事件:

Ø resize

检测屏幕宽度:

三大家族小结:

  1. offset家族

    Ø offsetWidth offsetHeight 获取元素自身大小:包括自身设置的宽高、padding、border

    Ø offsetLeft offsetTop 获取元素距离定位父级的左和上距离

    Ø都是只读属性

  2. client家族

    Ø 获取元素可见区域的大小

    Ø 获取元素左、上边框距离

    Ø 都是只读属性

  3. scroll家族

    Ø 获取元素内容的总大小 只读属性

    Ø 获取元素向左向上滚出去看不见的距离 可读写属性

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容