赞
踩
代码依次为body内标签创建,css样式 和script 代码
这里我们先创建我们所需要的标签
视频的盒子,视频文件,进度条,和用来播放,暂停的按钮
- <body>
- <!-- 设置一个视频盒子 -->
- <div class="videoBox">
- <!-- 引入视频 -->
- <video src="../../../../杂/【素材向】骂谁罕见! - 1.【素材向】骂谁罕见!(Av220190871,P1).mp4" autoplay="autoplay"></video>
- <!-- 给视频进度条一个css样式 -->
- <div class="jindu">
- <!-- 给视频进度条设置一个当前进度的背景颜色 -->
- <div class="jinduyanse"></div>
- </div>
- </div>
- <!-- 创建一个开始播放按钮 -->
- <button class="start">开始播放</button>
- </body>
然后我们来设置我们标签所需要的简单样式
按钮我没有设置样式,因为写出来实现效果就行了,有需要的话可以自由发挥
css的进度条样式,width宽度属性,我们可以先写上25% -50%来便于观察效果
等js部分把进度条进度获取之后,需要把width宽度属性设置为0%
样式代码 ↓
- <style>
- /* 设置一个视频盒子 */
- .videoBox {
- width: 400px;
- /* 为了给进度条定位,需要给父级设置一个相对定位 */
- position: relative;
- }
-
- /* 引入视频,设置视频的尺寸 */
- video {
- width: 400px;
- }
-
- /* 给视频进度条一个css样式 */
- .jindu {
- width: 360px;
- height: 10px;
- border-radius: 15px;
- background: #959595;
- /* 给自制的进度条设置绝对定位,定位到想要的位置 */
- position: absolute;
- bottom: 5px;
- left: 20px;
- }
-
- /* 给视频进度条设置一个当前进度的背景颜色 */
- .jinduyanse {
- width: 0%;
- height: 10px;
- border-radius: 15px;
- background: #00ffcc;
- }
- </style>
布局写完了,接下来为重中之重
js的代码需要亿点逻辑,家里面养了逻辑猫的可以带着猫一起看
注释我会写的非常清楚,代码的思路我都会写在上面
js部分代码 ↓
- <script>
- window.onload = function () {
- // 获取标签
- let video = document.querySelector('video') // 获取video标签
- let start = document.querySelector('.start') //获取开始播放按钮
- let jindu = document.querySelector('.jinduyanse') //获取进度条
- let timer; // 设置一个timer接收时钟
- let jindutiao = 0 // 设置进度条初始为0
- let flag = true // 这里设置flag为true 备用
- // 给开始播放绑定点击事件
- start.addEventListener('click', function () {
- video.play() // 点击按钮,视频开始播放
-
- // 设置时钟开始获取视频当前时间
- timer = setInterval(function () {
- // 并实时显示当前进度
- jindutiao = video.currentTime / video.duration * 100 + '%'
- jindu.style.width = jindutiao //将运算后的百分比赋值给标签的width属性
- }, 100)
- // 当视频结束时
- video.addEventListener('ended', function () {
- clearInterval(timer) // 清除定时器
- flag = !flag // 取反flag,使flag等于true
- start.innerHTML = '开始播放' // 将按钮文本改为开始播放
- })
- // 点击按钮时,如果flag = true
- if (flag) {
- video.play() // 则视频开始播放
- flag = !flag // 取反flag,使flag = false
- start.innerHTML = '暂停播放' // 将按钮文本改为暂停播放
- } else { // 如果flag 不等于 true ,及flag = false 时
- video.pause() // 点击按钮将会暂停播放
- flag = !flag // 这时取反flag,使false 变回true
- start.innerHTML = '开始播放' //将按钮文本改为开始播放
- }
- })
-
- }
- </script>
到这就结束了家人们,大家加油
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。