Web APIs DOM- 网页特效篇-滚动事件和加载事件
Posted 黑马程序员官方
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web APIs DOM- 网页特效篇-滚动事件和加载事件相关的知识,希望对你有一定的参考价值。
前期更新笔记内容: Web API 基本认知 / 获取DOM元素 / 设置/修改DOM元素内容和元素属性 / 定时器-间歇函数 / 事件基础 / 高阶函数 / 环境对象 / 综合案例-Tab栏切换 / DOM节点 /DOM 时间对象/DOM 重绘和回流/ DOM- 事件对象/DOM- 事件流 / DOM- 事件委托 +综合案例
一、滚动事件和加载事件
1.1 滚动事件
当页面进行滚动时触发的事件
为什么要学?
- 很多网页需要检测用户把页面滚动到某个区域后做一些处理, 比如固定导航栏,比如返回顶部
事件名:scroll
监听整个页面滚动:
- 给 window 或 document 添加 scroll 事件
- 监听某个元素的内部滚动直接给某个元素加即可
页面滚动事件代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
body
height: 3000px;
div
overflow: auto;
width: 200px;
height: 200px;
background-color: pink;
</style>
</head>
<body>
<div>
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
</div>
<script>
let div = document.querySelector('div')
window.addEventListener('scroll', function ()
console.log(111)
)
// div.addEventListener('scroll', function ()
// console.log(111)
// )
</script>
</body>
</html>
1.2 加载事件
加载外部资源(如图片、外联CSS和javascript等)加载完毕时触发的事件
为什么要学?
- 有些时候需要等页面资源全部处理完了做一些事情
- 老代码喜欢把 script 写在 head 中,这时候直接找 dom 元素找不到
事件名:load
监听页面所有资源加载完毕:
- 给 window 添加 load 事件
注意:不光可以监听整个页面资源加载完毕,也可以针对某个资源绑定load事件
当初始的 HTML 文档被完全加载和解析完成之后,DOMContentLoaded 事件被触发,而无需等待样式表 、图像等完全加载
事件名:DOMContentLoaded
监听页面DOM加载完毕:
- 给 document 添加 DOMContentLoaded 事件
加载事件代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
body
height: 3000px;
div
overflow: auto;
width: 200px;
height: 200px;
background-color: pink;
</style>
<script>
window.addEventListener('load', function ()
let div = document.querySelector('div')
console.log(div)
)
</script>
</head>
<body>
<div>
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
我里面可以放很多的文字
</div>
<script>
// let div = document.querySelector('div')
</script>
</body>
</html>
小结:
1. 页面滚动事件如何添加?
- scroll
- 监听整个页面滚动给 window 或 document 加
2. 加载事件有哪两个?如何添加?
load 事件
- 监听整个页面资源给 window 加
DOMContentLoaded
- 给 document 加,当初始的 HTML 文档被完全加载和解析完成之后,DOMContentLoaded 事件被触发,而无需等待样式表、图像等完全加载
黑马前端专栏干货多多,关注再学,好方便~
2022年前端学习路线图:课程、源码、笔记,技术栈 另外此线路图实时更新!需要课后资料的友友们,可以直接告诉我。
以上是关于Web APIs DOM- 网页特效篇-滚动事件和加载事件的主要内容,如果未能解决你的问题,请参考以下文章