文章目录

  • 一、滚动事件和加载事件
    • 1.1 滚动事件
    • 1.2 加载事件
  • 二、三大家族
    • 2.1 scroll家族
    • 2.2 offset家族
    • 2.3 client家族

一、滚动事件和加载事件

1.1 滚动事件

当页面滚动时触发的事件

事件名:scroll

样例,监听整个页面滚动:

window.addEventListener('scroll',funtion(){//执行操作
})

可以给window或者document添加scroll事件

1.2 加载事件

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

事件名:load

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

window.addEventListener('load',function(){//执行操作
})

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

事件名:DOMContentLoaded

监听页面DOM加载完毕

document.addEventListener('DOMContentLoaded',function(){//执行操作
})

两个加载事件的区别

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

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

二、三大家族

2.1 scroll家族

作用:scroll可以检测页面滚动的距离

获取宽高

  • 获取元素的内容总宽高(不包含滚动条),返回值不带单位
  • 元素.scrollWidth和元素.scrollHeight

获取位置

  • 获取元素内容往左、网上滚动看不到的距离(被卷去的头部和左侧的距离)
  • .scrollLeft 和 .scrollTop
  • 元素的这两个属性可以直接修改

样例代码:

let div = document.querySelector('div')
console.log(div.scrollWidth)div.addEventListener('scroll',function(){console.log(this.scrollTop)
})

检测页面滚动事件

window.addEventListener('scroll',function(){let num = document.documentElement.scrollTopconsole.log(num)
})

documentElement 也就是指 html

2.2 offset家族

简单的说就是通过js的方式,得到元素在当前页面中的位置

获取宽高

  • 获取元素的自身宽高、包含元素自身设置的宽高、padding、border等
  • .offsetWidth 和 .offsetHeight

获取位置

  • 获取元素距离自己定位父级元素(若没有,默认文档的左上角)的左、上距离
  • offsetLeft 和 offsetTop 是只读属性

获取位置

2.3 client家族

获取宽高

  • 获取元素的可见部分的宽高(不包含边框、滚动条等)
  • .clientWidth 和 .clientHeight
  • 只读属性

获取位置

样例代码,根据网页大小变化改变背景颜色

window.addEventListener('resize',function(){let w = document.documentElement.clientWidth
if(w >= 1920){document.body.style.backgroundColor = 'pink'
}
else if(w?540){document.body.style.backgroundColor = 'hotpink'
}
else{document.body.style.backgroundColor = 'deeppink'
}
})

JavaScript基础——滚动事件、加载事件、三大家族相关推荐

  1. javascript 窗口加载事件相关问题

    window.onload是窗口(页面)加载事件,当文档内容完全加载完成会触发该事件(包括图像.脚本文件.CSS文件等),就调用的处理函数: 有了window.onload就可以把JS代码写到页面元素 ...

  2. 页面加载事件html5,JavaScript页面加载事件实例讲解

    一.onload 加载事件 onload 是 window 对象的一个事件,也可以省略 window 直接使用. 常用方式: 这个事件是等待页面加载完成之后,再执行 注意:该事件相比于在 中的

  3. 深入理解DOM事件类型系列第六篇——加载事件

    前面的话 提到加载事件,可能想到了window.onload,但实际上,加载事件是一大类事件,本文将详细介绍加载事件 load load事件是最常用的一个事件,当页面完全加载后(包括所有图像.java ...

  4. Web API-DOM-滚动事件、加载事件和元素大小和位置

    滚动事件 滚动触发元素:元素.addEventListener("scroll", function () { }); 加载事件 加载元素:window.addEventListe ...

  5. [置顶]       加载事件js代码

    1 /*加载事件代码*/ 2 function addLoadEvent(func) { 3 var oldonload = window. 4 if (typeof window.onload != ...

  6. Android中加载事件的方式

    Android中加载事件的方式 通过内部类的方式实现 通过外部类的方式实现 通过属性的方式实现 通过自身实现接口的方式实现 通过内部类的方式实现 Demo btn_Login.setOnClickLi ...

  7. CSS、JavaScript和Ajax实现图片预加载的三大方法及优缺点分析

    预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画 廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发 ...

  8. jQuery的页面加载事件

    window.οnlοad=function(){...}作用是当页面加载的时候可以调用某些函数,例如: window.onload = function() {alert("加载成功&qu ...

  9. jquery中DOM加载事件,onload事件和ready事件

    全栈工程师开发手册 (作者:栾鹏) jquery系列教程4-事件操作全解 jquery中DOM加载事件 jquery中的DOM加载事件分为onload事件和ready事件.,具体功能如代码中注释. 代 ...

最新文章

  1. 二进制安装 kubernetes 1.12(三) - 部署 Master 节点组件
  2. cuda-Block和Grid设定
  3. android 手机固定mac,Android之获取手机MAC
  4. pcb设计实战与应用智能手机_机构强烈推荐+突破临界点+全球第一大PCB厂商=鹏鼎控股...
  5. Demosaic算法学习
  6. JavaScript中匿名函数的困惑
  7. 一图搞懂华三MVRP的配置与作用
  8. 常用的雷达信号:基于DDS的线性调频信号的产生
  9. PC协议/微信协议/ipad协议823最新版
  10. SAP License:ERP实施方案包括哪些内容?
  11. java partial class_easymock教程-partial class mocking
  12. 谷歌翻译退出,idea谷歌翻译无法使用(解决)
  13. unity 动态修改粒子特效
  14. 大规模时间序列数据自动异常检测架构
  15. numpy基础—numpy的轴
  16. Ra-08系列开发板入门教程,标准LoRaWAN协议对接国外 TTN LoRaWAN 开源服务器。
  17. 在Qt Creator中的pro文件添加lib库
  18. 把codeblock变好看
  19. 4、微信小程序-项目配置
  20. 如何入门数字IC验证工程师,需要具备哪些知识和能力?培训班速成是否可行?

热门文章

  1. esp32,基于阿里云平台,配置实现Node.js SDK接入示例出现description: ‘Failed to authenticate: 4‘ BUG
  2. linux内核printk调试手段,linux内核printk调试
  3. 如何0基础学传奇开服技术?(学传奇开服技术教程)
  4. Android Studio 提示:更新 TKK 失败,请检查网络连接
  5. 深大uooc大学生心理健康章节答案第八章
  6. 基于android 短信评价系统设计,基于 android平台的教学评价系统的设计与实现─ !bv.pdf...
  7. IP地址管理工具——netbox——全
  8. C语言-对文件的输入输出
  9. 凹凸中的相与国 ——读《大清相国》
  10. 小明一家过桥,过桥时是黑夜_过桥:如何过渡到软件开发的职业