当前位置:   article > 正文

使用html,css和js给视频设置一个简易进度条_html怎么控制视频的进度条

html怎么控制视频的进度条

代码依次为body内标签创建,css样式  和script 代码

这里我们先创建我们所需要的标签

视频的盒子,视频文件,进度条,和用来播放,暂停的按钮

  1. <body>
  2. <!-- 设置一个视频盒子 -->
  3. <div class="videoBox">
  4. <!-- 引入视频 -->
  5. <video src="../../../../杂/【素材向】骂谁罕见! - 1.【素材向】骂谁罕见!(Av220190871,P1).mp4" autoplay="autoplay"></video>
  6. <!-- 给视频进度条一个css样式 -->
  7. <div class="jindu">
  8. <!-- 给视频进度条设置一个当前进度的背景颜色 -->
  9. <div class="jinduyanse"></div>
  10. </div>
  11. </div>
  12. <!-- 创建一个开始播放按钮 -->
  13. <button class="start">开始播放</button>
  14. </body>

然后我们来设置我们标签所需要的简单样式

按钮我没有设置样式,因为写出来实现效果就行了,有需要的话可以自由发挥

css的进度条样式,width宽度属性,我们可以先写上25% -50%来便于观察效果

等js部分把进度条进度获取之后,需要把width宽度属性设置为0%

样式代码   ↓

  1. <style>
  2. /* 设置一个视频盒子 */
  3. .videoBox {
  4. width: 400px;
  5. /* 为了给进度条定位,需要给父级设置一个相对定位 */
  6. position: relative;
  7. }
  8. /* 引入视频,设置视频的尺寸 */
  9. video {
  10. width: 400px;
  11. }
  12. /* 给视频进度条一个css样式 */
  13. .jindu {
  14. width: 360px;
  15. height: 10px;
  16. border-radius: 15px;
  17. background: #959595;
  18. /* 给自制的进度条设置绝对定位,定位到想要的位置 */
  19. position: absolute;
  20. bottom: 5px;
  21. left: 20px;
  22. }
  23. /* 给视频进度条设置一个当前进度的背景颜色 */
  24. .jinduyanse {
  25. width: 0%;
  26. height: 10px;
  27. border-radius: 15px;
  28. background: #00ffcc;
  29. }
  30. </style>

布局写完了,接下来为重中之重

js的代码需要亿点逻辑,家里面养了逻辑猫的可以带着猫一起看

注释我会写的非常清楚,代码的思路我都会写在上面

js部分代码   ↓

  1. <script>
  2. window.onload = function () {
  3. // 获取标签
  4. let video = document.querySelector('video') // 获取video标签
  5. let start = document.querySelector('.start') //获取开始播放按钮
  6. let jindu = document.querySelector('.jinduyanse') //获取进度条
  7. let timer; // 设置一个timer接收时钟
  8. let jindutiao = 0 // 设置进度条初始为0
  9. let flag = true // 这里设置flag为true 备用
  10. // 给开始播放绑定点击事件
  11. start.addEventListener('click', function () {
  12. video.play() // 点击按钮,视频开始播放
  13. // 设置时钟开始获取视频当前时间
  14. timer = setInterval(function () {
  15. // 并实时显示当前进度
  16. jindutiao = video.currentTime / video.duration * 100 + '%'
  17. jindu.style.width = jindutiao //将运算后的百分比赋值给标签的width属性
  18. }, 100)
  19. // 当视频结束时
  20. video.addEventListener('ended', function () {
  21. clearInterval(timer) // 清除定时器
  22. flag = !flag // 取反flag,使flag等于true
  23. start.innerHTML = '开始播放' // 将按钮文本改为开始播放
  24. })
  25. // 点击按钮时,如果flag = true
  26. if (flag) {
  27. video.play() // 则视频开始播放
  28. flag = !flag // 取反flag,使flag = false
  29. start.innerHTML = '暂停播放' // 将按钮文本改为暂停播放
  30. } else { // 如果flag 不等于 true ,及flag = false 时
  31. video.pause() // 点击按钮将会暂停播放
  32. flag = !flag // 这时取反flag,使false 变回true
  33. start.innerHTML = '开始播放' //将按钮文本改为开始播放
  34. }
  35. })
  36. }
  37. </script>

到这就结束了家人们,大家加油

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/130262
推荐阅读
相关标签
  

闽ICP备14008679号