前言
之前,忙于考试未来及更新文章。本文适用于掌握JavaScript html css jQuery的基本内容的读者。不知大家有没注意原生的H5视频播放器用不同的浏览器打开所呈现的效果并不一样。而如果我们想让不同浏览器打开的样式一样,那么就需要自己制作一个。本文将讲述这个小demo的全流程。
demo涉及的主要知识点
HTML5 全屏接口:
1.requestFullscreen 全屏
(标准化写法浏览器不识别,需要添加浏览器前缀)
HTML5 视频音频DOM:
2.ended 返回音频/视频的播放是否已结束
3.play() 开始播放音频/视频
4.pause()暂停
5.canplay 当浏览器可以播放音频/视频时
6.duration 视频总时长
7.ontimeupdate 当目前的播放位置已更改时
8.paused 设置或返回音频/视频是否暂停
原生JavaScript:
9.Math.floor() 向下取整
10. ?:三目运算符 (?前面相当于if中的条件,:前面是与条件相符执行的内容,:后面是与条件不符执行的内容)
例如:如果 2 < 3 控制台打印正确,否则控制台打印错误
if(){} else 写法:
if (2 < 3) {
console.log("正确");
} else {
console.log("错误");
}
三目运算符写法:
(2 < 3) ? console.log("正确"): console.log("错误");
jQuery:
11.toggleClass() 对设置或移除被选元素的一个或多个类进行切换。
12.addClass() 向匹配的元素添加指定的类名。
13.removeClass() 向匹配的元素移除指定的类名。
demo效果及功能
播放/暂停按钮的切换 进度条(已播放 模拟已加载 总进度)时长数(当前 总) 全屏.
技术实现
先从结构样式开始
结构:
<h3 class="playerTitle">视频播放器</h3>
<div class="player">
<!-- 视频区 -->
<video src="2.mp4"></video>
<!-- 控制区 -->
<div class="controls">
<a href="javascript:;" class="switch fa fa-play"></a>
<!-- 播放暂停切换按钮 -->
<a href="javascript:;" class="expand fa fa-expand"></a>
<!-- 全屏 -->
<!-- 进度条区域 -->
<div class="progress">
<!-- 响应事件/总时长 -->
<div class="bar"></div>
<!-- 已加载 -->
<div class="loaded"></div>
<!-- 已播放 -->
<div class="elapse"></div>
</div>
<!-- 时间显示区域 -->
<div class="time">