Day28 - Video Speed Controller
作者:©Mrlin(史密斯林)
简介:学习记录,用于记录在CSDN课程中的学习内容。
课程:30天完成30个JS原生开发项目挑战视频教程。JavaScript30 是 Wes Bos 推出的一个 30 天挑战。项目免费提供了 30 个视频教程、30 个挑战的起始文档和 30 个挑战解决方案源代码。目的是帮助人们用纯 JavaScript 来写东西,不借助框架和库,也不使用编译器和引用。
效果如下
第28天的挑战主要是拖拽右边的进度条来设置当前视频的播放速率。
HTML 源码
1 |
|
由上面的代码不难看出,UI由左边的一个video和右边的一个div组成。
CSS 代码
1 | body { |
JS 源码
1 | <script> |
代码逻辑:
- 获取组建
1 | const speed = document.querySelector('.speed'); |
- 监听
speed控件,鼠标是否处于移动状态,如果在移动,调用handleMove函数。
1 | speed.addEventListener('mousemove', handleMove); |
- 改变
speed的状态,以及及时更新video的playbackRate属性以改变播放速率
1 | function handleMove(e) { |