前言:前几天考研成绩刚刚出来,有人欢喜有人悲,不管结果怎么样,只要努力过,就不存在遗憾一说。大家都知道考研复习的时候会有大量的时间用来看教学视频,就比如说“张宇高数”等等。考研复习时间是非常珍贵的,所以有些同学就会选择倍速播放视频,一次来节约时间,今天我们就来简单的实现一下视频倍速播放。

我的更多文章请参考:

天之蓝源:前端开发者必备的40个VSCode插件!​zhuanlan.zhihu.com

天之蓝源:三分钟在GitHub上搭建个人博客​zhuanlan.zhihu.com

天之蓝源:零基础Hexo+Github搭建静态个人博客​zhuanlan.zhihu.com

天之蓝源:原生js实现点击按钮复制文本内容​zhuanlan.zhihu.com

天之蓝源:九种跨域方式实现原理​zhuanlan.zhihu.com

天之蓝源:前端面试考点多?看这些文章就够了(转载)​zhuanlan.zhihu.com

天之蓝源:干货!值得收藏的前端学习网站​zhuanlan.zhihu.com

天之蓝源:原生JS实现一个日期选择器(DatePicker)组件​zhuanlan.zhihu.com

天之蓝源:原生js一步一步实现《别踩白块儿》小游戏​zhuanlan.zhihu.com

天之蓝源:原生js利用localstorage实现简易TODO list应用​zhuanlan.zhihu.com

天之蓝源:原生js实现瀑布流效果​zhuanlan.zhihu.com

天之蓝源:原生js实现图片懒加载(lazyLoad)​zhuanlan.zhihu.com

天之蓝源:原生js实现简单路由切换​zhuanlan.zhihu.com

实现效果:

视频倍速播放https://www.zhihu.com/video/1082600881282654208

一.HTML代码

可以看到我们的代码很简单,就一个外层容器wrapper,然后里面有一个H5的video标签,然后一个控制倍速的容器speed。

<body><div class="wrapper"><video class="flex" width="765" height="430" src="./新闻.mp4" loop controls></video><div class="speed"><div class="speed-bar">1×</div></div></div>
</body>

二.设置点样式——CSS

我们的样式也是写得很简单,里面用到了flex布局和vh布局,不太熟悉的小伙伴可以参考:

Flex 布局教程:语法篇 - 阮一峰的网络日志​www.ruanyifeng.com

https://blog.csdn.net/ZNYSYS520/article/details/76053961​blog.csdn.net

<

此时我们页面部分已进基本完成了,有没有发现HTML5的video标签很好用呢,这里我们默认的是x1速率:

三.加上JavaScript实现倍速播放

关于pageY,W3C上是这样解释的:

关于pageY,offsetTop等使用方法可以参考文章:

event.pageY​developer.mozilla.org

理解 e.clientX,e.clientY e.pageX e.pageY e.offsetX e.offsetY​www.cnblogs.com

https://blog.csdn.net/nideshijian/article/details/52453074​blog.csdn.netJavaScript round() 方法​www.w3school.com.cn

另外设计到的video的属性可以参考:

HTML 5 Audio/Video DOM playbackRate 属性​www.w3school.com.cn

<

代码是非常简单的,里面是涉及到了少部分API之类的,看一看注释就能马上懂,就不做过多解释,里面用到了ES6的命名方式,学习ES6请参考:

ECMAScript 6入门​es6.ruanyifeng.com

四.总结

总体来说代码是非常简单了,主要的目的就是让大家了解一下HMTL5中的video标签,关于video标签更多的属性请自行去了解了。

欢迎关注微信公众号:前端切图仔

五.源代码

Hacker233/JavaScript​github.com


文章参考地址:

liyuechun/JavaScript30-liyuechun​github.com

js 控制鼠标_原生js实现改变视频播放速率相关推荐

  1. js开根号_原生js数值开根算法

    不借助Math函数求开根值 1.二分迭代法求n开根后的值 思路: left=0 right=n mid=(left+right)/2 比较mid^2与n大小 =输出: >改变范围,right=m ...

  2. js检测鼠标是否在操作_原生JS趣味demo:炫酷头像鼠标追随效果的实现

    我们常在一些网页中 可以看到鼠标追随效果 一个简单的图片.动画 甚至一小段文字 都可以作为鼠标跟随的载体 之前咱们的直播课中 老师也讲过相关的canvas追随粒子特效 今天 就让我们一起来用原生js ...

  3. vue如何使用原生js写动画效果_原生js写一个无缝轮播图插件(支持vue)

    轮播图插件(Broadcast.js) 前言:写这个插件的原因 前段时间准备用vue加上网易云的nodejs接口,模拟网易云音乐移动端.因为想自己写一遍所有的代码以及加固自己的flex布局,所以没有使 ...

  4. js 取得input绑定的datalist中的值_原生JS写一个ToDo Demo

    周六加班没什么事,于是乎...上班摸鱼,用原生JS写了一个ToDo Demo,废话少叙,直接看效果: 如图,实现了以下需求(以下的具体实现我会一一道来): 0.页面的基本布局: 1.rem布局.在不同 ...

  5. java使用重绘实现拖动_原生JS使用Canvas实现拖拽式绘图功能

    一.实现的功能 1.基于oop思想构建,支持坐标点.线条(由坐标点组成,包含方向).多边形(由多个坐标点组成).圆形(包含圆心坐标点和半径)等实体 2.原生JavaScript实现,不依赖任何第三方j ...

  6. 根据id删除localstorage数据_原生js利用localstorage实现简易TODO list应用

    前言:小生不才,只懂得一些皮毛,我努力以最简单的语言将心中的想法表述出来,让更多人能够很轻松的弄明白.文章里面有不足之处望各位大牛指出,使得后面的文章能够朝着更好的方向发展.另外,大家记得点赞哟! 欢 ...

  7. js事件里面套事件怎么不管用_原生js利用localstorage实现简易TODO list应用

    前言:小生不才,只懂得一些皮毛,我努力以最简单的语言将心中的想法表述出来,让更多人能够很轻松的弄明白.文章里面有不足之处望各位大牛指出,使得后面的文章能够朝着更好的方向发展.另外,大家记得点赞哟! 欢 ...

  8. 单机按钮来图片轮播_原生js如何实现轮播图效果?

    第一种: 这个是之前写的,比较草率,没有注释,如果这个看不懂就去看第二个,比较仔细,主要是了解他,后面都会有一些插件来使用,很方便,只要几行代码就可写出各种各样的代码,所以,不懂的话,不要太在意, 第 ...

  9. 微信通讯录java实现_原生JS实现微信通讯录

    最近工作当中再一次遇到要实现一个车辆列表,要求能够像微信通讯录一样,实现右侧滑动,点击功能,并且滑动过程中,能够有提示.原来用jquery实现过一次,为了精简代码,现在用原生的实现一次.想必工作中大家 ...

最新文章

  1. ms-sql是mysql吗_mssql和mysql有哪些区别?
  2. wget下载阿里云oss的文件报错403
  3. java 151建议_编写高质量代码改善java程序的151个建议——导航开篇
  4. ORACLE常见问题一千问[501至600](不怕学不成、就怕心不诚!)
  5. 《论语》读后颜渊第十二主要大意
  6. rw data 、ro data 和 code详解
  7. flex 平铺布局_flex布局及各种布局的总结
  8. C++不同数据类型的转换
  9. JDBC学习笔记(7)——事务的隔离级别批量处理
  10. postgresql 计算时间差的秒数、天数
  11. springboot读取src下文件_springboot获取src/main/resource下的文件
  12. Struts第八篇【资源国际化、对比JSP的资源国际化】
  13. BNU 斩(超级大水题)
  14. hao916,hao123,2345.com浏览器劫持-分析与清除
  15. oel+oracle,OEL7.6安装Oracle Database 19C(VERSION 19.3.0.0)
  16. Prophet文档中文翻译--outliers
  17. PDD卖百度网盘超级会员,是怎么做到销量10万+的?
  18. ADC 获取数据(stm32)
  19. maskrcnn_benchmark 代码详解(更新中...)
  20. OI 刷题记录——每周更新

热门文章

  1. MFC树型控件 搜索并展开高亮指定树节点
  2. c++ vector api summary
  3. maven checkstyle 文件_flink教程-在IntelliJ IDEA 中玩转 checkstyle
  4. Ubuntu18.04设置简单密码
  5. C#之获取网卡IP地址
  6. 把“TCP/IP”协议讲明白
  7. java编程基础码_【Java编程的逻辑】编程基础
  8. dubbo和zookeper使用_Dubbox与Zookeeper简介及入门小案例
  9. 2020 kali 切换中文显示_Kali设置中文
  10. mysql执行程序_Sql在Mysql的执行